-
Notifications
You must be signed in to change notification settings - Fork 44
ClipBucketV5 installation guide
MacWarrior edited this page Dec 11, 2024
·
7 revisions
Easy installation scripts are only made for local / dev environments setup, be aware of your system security if going live !
Easy installation scripts are available for :
- Debian 9 to 12
- Ubuntu 16.04 to 24.04
- CentOS 7 with Apache 2, MariaDB & PHP 7.3 or with Apache 2, MySQL 8 & PHP 7.4
- Windows 10 & 11 with Nginx, MariaDB & PHP 8.3
These scripts are made to run on clean systems, and must be launched with root user
- Download raw script, then run it, it's that easy
- Install Apache2 or Nginx [Nginx recommended]
- Install MySQL or MariaDB [MariaDB recommended]
- Install FFMpeg, FFProbe & MediaInfo
- Install PHP [At least 7.0, 8.3+ recommended ; PHP-FPM recommended]
- Use git to clone repository :
git clone https://github.com/MacWarrior/clipbucket-v5.git
- Create your vhost pointing to /upload/ sub-directory
- Open website and follow installation process
When using Nginx, you have to specify Vhost rules ; here is our default vhost :
server {
listen 80;
server_name YOUR_DOMAIN_NAME;
root YOUR_INSTALL_PATH;
index index.php;
client_max_body_size 2M;
proxy_connect_timeout 7200s;
proxy_send_timeout 7200s;
proxy_read_timeout 7200s;
fastcgi_send_timeout 7200s;
fastcgi_read_timeout 7200s;
fastcgi_buffers 16 32k;
fastcgi_buffer_size 64k;
fastcgi_busy_buffers_size 64k;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
# set expiration of assets to MAX for caching
location ~* \.(ico|css|js)(\?[0-9]+)?$ {
expires max;
log_not_found off;
}
location ~ \.(git|github|idea|gitignore|htaccess) {
return 302 /403;
}
location ~* \.php$ {
fastcgi_pass unix:/var/run/php/YOUR_PHP_SOCKET_PATH.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location / {
if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)"){
rewrite ^/([^.]*)/?$ /index.php last;
}
rewrite ^/(.*)_v([0-9]+) /watch_video.php?v=$2&$query_string last;
rewrite ^/([a-zA-Z0-9-]+)/?$ /view_channel.php?uid=$1&seo_diret=yes last;
}
error_page 404 /404;
error_page 403 /403;
location /403 {
try_files $uri /403.php;
}
location /404 {
try_files $uri /404.php;
}
location /includes/ {
return 302 /404;
}
location /changelog/ {
return 302 /404;
}
location /video/ {
rewrite ^/video/(.*)/(.*) /watch_video.php?v=$1&$query_string last;
rewrite ^/video/([0-9]+)_(.*) /watch_video.php?v=$1&$query_string last;
}
location /videos/ {
rewrite ^/videos/(.*)/(.*)/(.*)/(.*)/(.*) /videos.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2 last;
rewrite ^/videos/([0-9]+) /videos.php?page=$1 last;
rewrite ^/videos/?$ /videos.php?$query_string last;
}
location /channels/ {
rewrite ^/channels/(.*)/(.*)/(.*)/(.*)/(.*) /channels.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2 last;
rewrite ^/channels/([0-9]+) /channels.php?page=$1 last;
rewrite ^/channels/?$ /channels.php last;
}
location /members/ {
rewrite ^/members/?$ /channels.php last;
}
location /users/ {
rewrite ^/users/?$ /channels.php last;
}
location /user/ {
rewrite ^/user/(.*) /view_channel.php?user=$1 last;
}
location /channel/ {
rewrite ^/channel/(.*) /view_channel.php?user=$1 last;
}
location /my_account {
rewrite ^/my_account /myaccount.php last;
}
location /page/ {
rewrite ^/page/([0-9]+)/(.*) /view_page.php?pid=$1 last;
}
location /search/ {
rewrite ^/search/result/?$ /search_result.php last;
}
location /upload {
rewrite ^/upload/?$ /upload.php last;
}
location /contact/ {
rewrite ^/contact/?$ /contact.php last;
}
location /categories/ {
rewrite ^/categories/?$ /categories.php last;
}
location /collections/ {
rewrite ^/collections/(.*)/(.*)/(.*)/(.*)/(.*) /collections.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2 last;
rewrite ^/collections/([0-9]+) /collections.php?page=$1 last;
rewrite ^/collections/?$ /collections.php last;
}
location /photos/ {
rewrite ^/photos/(.*)/(.*)/(.*)/(.*)/(.*) /photos.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2 last;
rewrite ^/photos/([0-9]+) /photos.php?page=$1 last;
rewrite ^/photos/?$ /photos.php last;
}
location /collection/ {
rewrite ^/collection/(.*)/(.*)/(.*) /view_collection.php?cid=$1&type=$2&page=$3 last;
}
location /item/ {
rewrite ^/item/(.*)/(.*)/(.*)/(.*) /view_item.php?item=$3&type=$1&collection=$2 last;
}
location /photo_upload {
rewrite ^/photo_upload/(.*) /photo_upload.php?collection=$1 last;
rewrite ^/photo_upload/?$ /photo_upload.php last;
}
location = /sitemap.xml {
rewrite ^(.*)$ /sitemap.php last;
}
location /signup {
rewrite ^/signup/?$ /signup.php last;
}
location /rss/ {
rewrite ^/rss/([a-zA-Z0-9].+)$ /rss.php?mode=$1&$query_string last;
}
location /list/ {
rewrite ^/list/([0-9]+)/(.*)?$ /view_playlist.php?list_id=$1 last;
}
location ~ /rss$ {
try_files $uri /rss.php;
}
}