Εγκαταστήστε το ClipBucket και το Nginx στο CentOS 7

Το ClipBucket είναι ένας ιστότοπος κοινής χρήσης βίντεο ανοιχτού κώδικα που υποστηρίζεται από την κοινότητα και ένα σενάριο διαχείρισης. Στην πρώτη ενσάρκωση του ClipBuckets, ήταν παρόμοιο με τους δημοφιλείς ιστότοπους σωλήνων βίντεο. Ωστόσο, μετά από χρόνια ανάπτυξης, έχει γίνει μια ισχυρή πλατφόρμα πολυμέσων σε σύγκριση με ιστότοπους κοινής χρήσης βίντεο/μέσων επί πληρωμή. Το ClipBucket έχει τις ακόλουθες δυνατότητες:

  • Διαχειριστής διαφημίσεων
  • Εξουσιοδότηση περιεχομένου
  • HLS ροή
  • Ενσωμάτωση με Windows Server Active Directory
  • Στατιστικά σε πραγματικό χρόνο
  • Κατανομή των εσόδων
  • Βίντεο κατ' απαίτηση (VOD)

Προαπαιτούμενα

  • Μια παρουσία διακομιστή CentOS 7 x64 Minimal ISO Library.
  • Ένας χρήστης sudo .

Ενημερώστε το σύστημα

Συνδεθείτε ως κανονικός χρήστης που έχει δικαίωμα χρήσης της εντολής sudo. Ενημερώστε το σύστημα ως εξής.

sudo yum clean all && sudo yum install deltarpm -y && sudo yum update -y

Προσθέστε το αποθετήριο RPMFusion

Ούτε τα επίσημα αποθετήρια CentOS 7 x64 ή EPEL περιέχουν RPM για FFmpeg (περιλαμβάνει FFProbe) και GPAC (περιλαμβάνει MP4Box). Το αποθετήριο RPMFusion πρέπει να προστεθεί καθώς περιέχει την πιο πρόσφατη έκδοση 2.8.x του FFmpeg και την τελευταία έκδοση 0.6.x του GPAC. Χρησιμοποιήστε την παρακάτω εντολή για να προσθέσετε το αποθετήριο.

sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm -y

Εγκαταστήστε το Απαιτούμενο λογισμικό πολυμέσων Backend για το ClipBucket

Προκειμένου το ClipBucket να εμφανίζει βίντεο που είναι βελτιστοποιημένα για τον Ιστό, πρέπει να εγκατασταθούν πολλά προγράμματα πολυμέσων για αυτόματη μετατροπή των μεταφορτωμένων βίντεο στο παρασκήνιο. Εγκαταστήστε τα FFmpeg και MP4Box (μέρος του GPAC) από το αποθετήριο REMI.

sudo yum install ffmpeg gpac -y

Για να εγκαταστήσετε την πιο πρόσφατη έκδοση του Ruby, πρέπει πρώτα να εγκαταστήσετε τη βιβλιοθήκη YAML.

sudo yum install libyaml -y

Τώρα, εγκαταστήστε την τελευταία έκδοση τρέχουσα έκδοση του Ruby (2.5.x).

sudo rpm -ivh https://github.com/feedforce/ruby-rpm/releases/download/2.5.0/ruby-2.5.0-1.el7.centos.x86_64.rpm

Εγκαταστήστε το πρόγραμμα συσκευασίας Ruby Gems.

sudo yum install rubygems -y

Εγκαταστήστε το στολίδι FLVTool2.

sudo gem install flvtool2

Πρέπει επίσης να εγκατασταθούν τα προγράμματα ImageMagick, MediaInfo και MPlayer/Mencoder.

sudo yum install ImageMagick mediainfo mplayer -y

Εγκαταστήστε το Backend του διακομιστή Web για το ClipBucket

Εγκαταστήστε την πιο πρόσφατη έκδοση διακομιστή βάσης δεδομένων MariaDB

Το CentOS 7 έρχεται με MariaDB έκδοση 5.5.x στο προεπιλεγμένο αποθετήριο. Για να εγκαταστήσετε την πιο πρόσφατη διαθέσιμη έκδοση (10.xx) του διακομιστή βάσης δεδομένων MariaDB, πρέπει να προστεθεί το αποθετήριο MariaDB RPM.

Χρησιμοποιήστε την sedεντολή για να δημιουργήσετε ένα προσαρμοσμένο αρχείο repo με όνομα MariaDB.repoστον /etc/yum.repos.d/κατάλογο.

sudo su -c "echo -e '[mariadb]\nname = MariaDB\nbaseurl = http://yum.mariadb.org/10.2/centos7-amd64\ngpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB\ngpgcheck=1' > /etc/yum.repos.d/MariaDB.repo"

Εγκαταστήστε τον διακομιστή βάσης δεδομένων MariaDB. Θα σας ζητηθεί να εισαγάγετε το GPG από το MariaDB. Πατήστε το πλήκτρο " Y" και το Enterπλήκτρο " " για να το αποδεχτείτε.

sudo yum install MariaDB-server -y

Ενεργοποιήστε και ξεκινήστε τον διακομιστή βάσης δεδομένων MariaDB.

sudo systemctl start mysql

Ασφαλίστε τον διακομιστή βάσης δεδομένων MariaDB. Αντικαταστήστε ******** παρακάτω με έναν νέο κωδικό πρόσβασης για τον χρήστη root MySQL. Αυτό είναι το ισοδύναμο της εκτέλεσης της mysql_secure_installationεντολής χωρίς τις προτροπές.

sudo mysql -e "UPDATE mysql.user SET Password=PASSWORD('********') WHERE User='root';DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');DELETE FROM mysql.user WHERE User='';DELETE FROM mysql.db WHERE Db IN('test', 'test\_%');DROP DATABASE test;FLUSH PRIVILEGES"

Δημιουργήστε αντίγραφα ασφαλείας του πρωτοτύπου server.cnfστο /etc/my.cnf.d/.

sudo mv /etc/my.cnf.d/server.cnf /root/server.cnf.original

Δημιουργήστε ένα νέο server.cnfαρχείο χρησιμοποιώντας την echoεντολή. Αυτή η διαμόρφωση παρέχει πραγματική υποστήριξη UTF8. Φροντίστε να αλλάξετε την default-time-zoneεπιλογή, ώστε να αντικατοπτρίζει την τοποθεσία της ζώνης ώρας του VPS σας, εάν το επιλέξετε. Τροποποιήστε το innodb_buffer_pool_instances, με βάση το innodb_buffer_pool_size, εάν το μέγεθος της βάσης δεδομένων σας είναι μεγαλύτερο από 2 GB. Παράδειγμα: innodb_buffer_pool_size= 4 GB, αλλαγή innodb_buffer_pool_instancesσε 4, για 1 GB το τεμάχιο. Τροποποιήστε innodb_buffer_pool_sizeμε βάση το σύνολο δεδομένων εργασίας σας. innodb_large_prefixχρησιμοποιείται για την αντιμετώπιση του σφάλματος 1071 . innodb_io_capacityκαι innodb_io_capacity_maxαυξάνονται από την προεπιλογή, καθώς οι μονάδες Vultr VPS SSD παρέχουν δύο τάξεις μεγέθους υψηλότερες IOP. Τροποποιήστε key_buffer_size, εάν έχετε πολλούς πίνακες χρησιμοποιώντας το MyISAM.

sudo su -c "echo -e '[mysqld]\nbinlog_format\t\t\t\t\t= mixed\ncharacter-set-client-handshake\t\t\t= FALSE\ncharacter-set-server\t\t\t\t= utf8mb4\ncollation-server\t\t\t\t= utf8mb4_unicode_ci\ndefault-time-zone\t\t\t\t= -05:00\nexpire_logs_days\t\t\t\t= 7\ninit_connect\t\t\t\t\t= 'SET collation_connection = utf8mb4_unicode_ci, NAMES utf8mb4'\ninnodb\t\t\t\t\t\t= FORCE\ninnodb_buffer_pool_instances\t\t\t= 1\ninnodb_buffer_pool_size\t\t\t\t= 256M\ninnodb_file_format\t\t\t\t= barracuda\ninnodb_flush_method\t\t\t\t= O_DIRECT\ninnodb_large_prefix\ninnodb-log-file-size\t\t\t\t= 32M\ninnodb-log-files-in-group\t\t\t= 2\ninnodb_io_capacity\t\t\t\t= 30720\ninnodb_io_capacity_max\t\t\t\t= 40960\ninnodb_lock_wait_timeout\t\t\t= 60\ninteractive_timeout\t\t\t\t= 60\nkey_buffer_size\t\t\t\t\t= 2M\nlc_messages\t\t\t\t\t= en_US\nlc_messages_dir\t\t\t\t\t= /usr/share/mysql\nlog_error\t\t\t\t\t= /var/log/mysql/mysql-error.log\nmax_connections\t\t\t\t\t= 16\nmyisam-recover-options\t\t\t\t= FORCE,BACKUP\nskip_external_locking\nskip-log-bin\nskip_name_resolve\nskip_networking\nslow_query_log\t\t\t\t\t= 1\nslow_query_log_file\t\t\t\t= /var/log/mysql/mysql-slow.log\nsync_binlog\t\t\t\t\t= 1\nsysdate-is-now\t\t\t\t\t= 1\nthread_cache_size\t\t\t\t= 4\nthread_pool_size\t\t\t\t= 2\ntmpdir\t\t\t\t\t\t= /tmp\nwait_timeout\t\t\t\t\t= 60' > /etc/my.cnf.d/server.cnf"

Δημιουργήστε έναν κατάλογο με όνομα mysqlστον /var/log/κατάλογο όπου θα βρίσκονται τα αρχεία καταγραφής διακομιστή βάσης δεδομένων MariaDB. Αλλάξτε την ιδιοκτησία χρήστη και ομάδας για τον /var/log/mysqlκατάλογο και τα αρχεία του από rootχρήστη/ομάδα σε mysqlχρήστη/ομάδα.

sudo mkdir /var/log/mysql && sudo chown mysql.mysql /var/log/mysql

Κάντε επανεκκίνηση του διακομιστή βάσης δεδομένων MariaDB.

sudo systemctl restart mysql

Ο διακομιστής βάσης δεδομένων MariaDB είναι πλέον ρυθμισμένος και έτοιμος.

Εγκαταστήστε την έκδοση διακομιστή PHP-FPM 7.0.x & τις απαραίτητες επεκτάσεις PHP

Για την επεξεργασία της PHP, πρέπει να εγκατασταθεί και να ρυθμιστεί ο δαίμονας PHP-FPM 7.0. Για να εγκαταστήσετε μια έκδοση του PHP-FPM νεότερη από την προεπιλεγμένη 5.4.x, πρέπει να εγκατασταθεί το αποθετήριο REMI που περιέχει τις εκδόσεις PHP 5.6.x, 7.0.x και 7.1.x.

Εγκαταστήστε το αποθετήριο REMI και τις απαραίτητες μονάδες PHP.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y && sudo yum install php70-php-cli php70-php-pecl-imagick php70-php-fpm php70-php-mysql php70-php-opcache -y

Δημιουργήστε ένα αντίγραφο ασφαλείας του php-fpm.confαρχείου στον /etc/opt/remi/php70/κατάλογο μετονομάζοντάς το σε php-fpm.conf.original.

sudo mv /etc/opt/remi/php70/php-fpm.conf /etc/opt/remi/php70/php-fpm.conf.original

Δημιουργήστε ένα νέο php-fpm.confαρχείο χρησιμοποιώντας την echoεντολή.

sudo su -c "echo -e 'include=/etc/opt/remi/php70/php-fpm.d/*.conf\n[global]\ndaemonize = yes\nemergency_restart_threshold = 2\nemergency_restart_interval = 1m\nerror_log = /var/log/php-fpm/php-fpm-7.0-error.log\npid = /var/run/php-fpm-7.0.pid\nprocess_control_timeout = 10s' > /etc/opt/remi/php70/php-fpm.conf"

Δημιουργήστε ένα αντίγραφο ασφαλείας του www.confαρχείου στον /etc/opt/remi/php70/php-fpm.d/κατάλογο μετονομάζοντάς το σε www.conf.original.

sudo mv /etc/opt/remi/php70/php-fpm.d/www.conf /etc/opt/remi/php70/php-fpm.d/www.conf.original

Δημιουργήστε ένα νέο www.confαρχείο χρησιμοποιώντας την echoεντολή.

sudo su -c "echo -e '[www]\ngroup = apache\nlisten = /var/run/php-fpm-7.0.sock\nlisten.backlog = 65536\nlisten.owner = apache\nlisten.group = apache\npm = static\npm.max_children = 2\npm.max_requests = 10240\nuser = apache' > /etc/opt/remi/php70/php-fpm.d/www.conf"

Δημιουργήστε ένα αντίγραφο ασφαλείας του php.iniαρχείου στον /etc/opt/remi/php70/κατάλογο μετονομάζοντάς το σε php.ini.original.

sudo mv /etc/opt/remi/php70/php.ini /etc/opt/remi/php70/php.ini.original

Δημιουργήστε ένα νέο php.iniαρχείο χρησιμοποιώντας την echoεντολή. Αλλαγή της memory_limit, post_max_sizeκαι upload_max_filesizeνα είναι ελαφρώς μεγαλύτερο από το μεγαλύτερο αρχείο που θέλετε να ανεβάσετε. Αλλάξτε date.timezoneτη ζώνη ώρας της επιλογής σας. Συνιστώ τη γεωγραφική ζώνη ώρας της παρουσίας σας VPS.

sudo su -c "echo -e '[PHP]\nallow_url_fopen = On\nalways_populate_raw_post_data = -1\ndisplay_errors = Off\nerror_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT\nexpose_php = Off\nlog_errors = On\nmax_execution_time = 7201\nmemory_limit = 256M\noutput_buffering = 4096\npost_max_size = 256M\nregister_argc_argv = Off\nrequest_order = \"GP\"\nupload_max_filesize = 256M\nvariables_order = \"GPCS\"\n[Date]\ndate.timezone = America/New_York\n[Session]\nsession.cache_limiter =\nsession.gc_divisor = 1000\nsession.hash_bits_per_character = 5\nsession.save_handler = files\nsession.save_path = \"/var/opt/remi/php70/lib/php/session/\"\nurl_rewriter.tags = \"a=href,area=href,frame=src,input=src,form=fakeentry\"' > /etc/opt/remi/php70/php.ini"

Δημιουργήστε τον php-fpmκατάλογο μέσα στον /var/log/κατάλογο όπου θα βρίσκονται τα αρχεία καταγραφής διακομιστή PHP-FPM.

sudo mkdir /var/log/php-fpm/

Ενεργοποιήστε και ξεκινήστε τον διακομιστή PHP-FPM.

sudo systemctl enable php70-php-fpm && sudo systemctl start php70-php-fpm

Εγκαταστήστε το Frontend του διακομιστή Web για το ClipBucket

Εγκατάσταση και διαμόρφωση του διακομιστή Web Nginx

Εγκαταστήστε την πιο πρόσφατη έκδοση του διακομιστή web Nginx.

sudo yum install nginx -y

Δημιουργήστε ένα αντίγραφο ασφαλείας του nginx.confαρχείου στον /etc/nginxκατάλογο μετονομάζοντάς το σε nginx.conf.original.

sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.original

Δημιουργήστε ένα νέο nginx.confαρχείο χρησιμοποιώντας την echoεντολή.

sudo su -c "echo -e 'error_log /var/log/nginx/error_log info;\nevents { multi_accept on; worker_connections 1024; }\nhttp {\n\taccess_log none;\n\tcharset utf-8;\n\tclient_body_timeout 10s;\n\tclient_header_timeout 10s;\n\tclient_max_body_size 256M;\n\tdefault_type application/octet-stream;\n\tgzip_comp_level 6;\n\tgzip on;\n\tgzip_proxied any;\n\tgzip_types application/json application/javascript application/x-javascript application/xml application/xml+rss text/css text/javascript text/plain text/xml;\n\tgzip_vary on;\n\tinclude /etc/nginx/mime.types;\n\tinclude /etc/nginx/conf.d/headers.conf;\n\tinclude /etc/nginx/sites-enabled/*.conf;\n\tindex index.html index.php;\n\tkeepalive_timeout 8 8;\n\treset_timedout_connection on;\n\tsend_timeout 2s;\n\tsendfile on;\n\tserver_tokens off;\n\ttcp_nopush on;\n\ttcp_nodelay on;\n\tupstream php-7.0 { server unix:/var/run/php-fpm-7.0.sock; }\n}\nuser apache apache;\nworker_processes auto;' > /etc/nginx/nginx.conf"

Δημιουργήστε τους καταλόγους site-availableκαι site-enabledστον /etc/nginx/κατάλογο.

sudo mkdir /etc/nginx/{sites-available,sites-enabled}

Δημιουργήστε το deny-log-not-found.conf, expires.confκαι headers.confτα αρχεία στον /etc/nginx/conf.d/κατάλογο. Το deny-log-not-found.confαρχείο απαγορεύει την πρόσβαση σε κρυφά αρχεία (π.χ. .htaccess, .gitκαι άλλοι). Το expires.confαρχείο ορίζει τις κεφαλίδες απόκρισης "Expires" και "Cache-Control" στο μέγιστο διαθέσιμο χρόνο για κοινά στατικά αρχεία, όπως εικόνες και κείμενο. Το headers.confαρχείο ορίζει τις κεφαλίδες απόκρισης για να αποτρέψει το sniffing τύπου MIME, το click-jacking και τον αποκλεισμό των εκμεταλλεύσεων XSS (cross site scripting).

sudo su -c "echo -e 'location ~ /\. { deny all; }\nlocation = /(favicon.ico|robots.txt) { log_not_found off; }' > /etc/nginx/conf.d/deny-log-not-found.conf" && sudo su -c "echo -e 'location ~* ^.+\.(atom|bmp|bz2|css|doc|eot|exe|gif|gz|ico|jpeg|jpg|js|mid|midi|mp4|ogg|ogv|otf|pdf|png|ppt|rss|rft|svg|svgz|tar|tgz|ttf|wav|woff|woff2|xls|zip)$ { expires max; log_not_found off; }' > /etc/nginx/conf.d/expires.conf" && sudo su -c "echo -e 'add_header X-Content-Type-Options \"nosniff\";\nadd_header X-Frame-Options \"SAMEORIGIN\";\nadd_header X-Robots-Tag \"noarchive,noodp,noydir\";\nadd_header X-Xss-Protection \"1; mode=block\";' > /etc/nginx/conf.d/headers.conf"

Δημιουργήστε το example.com.confαρχείο στον /etc/nginx/sites-available/κατάλογο που θα οδηγεί στον κατάλογο που θα περιέχει το ClipBucket. Αντικαταστήστε όλες τις παρουσίες του example.comπαρακάτω με το πραγματικό FQDN/όνομα τομέα σας.

sudo su -c "echo -e 'server {\n\tinclude /etc/nginx/conf.d/deny-log-not-found.conf;\n\tinclude /etc/nginx/conf.d/expires.conf;\n\tindex index.php;\n\tlocation / {\n\t\ttry_files \$uri \$uri/ /index.php;\n\t\trewrite ^/(.*)v([0-9]+) /watchvideo.php?v=\$2&\$query_string;\n\t\trewrite ^/([a-zA-Z0-9-]+)/?\$ /view_channel.php?uid=\$1&seo_diret=yes;\n\t\t}\n\tlocation ~ \.php\$ { fastcgi_pass php-7.0; include /etc/nginx/fastcgi.conf; }\n\tlocation /categories {\n\t\trewrite ^/categories/?\$ /categories.php;\n\t\t}\n\tlocation /channel {\n\t\trewrite ^/channel/(.*) /view_channel.php?user=\$1;\n\t\t}\n\tlocation /channels {\n\t\trewrite ^/channels/(.)/(.)/(.)/(.)/(.*) /channels.php?cat=\$1&sort=\$3&time=\$4&page=\$5&seo_cat_name=\$2;\n\t\trewrite ^/channels/([0-9]+) /channels.php?page=\$1;\n\t\trewrite ^/channels/?\$ /channels.php;\n\t\t}\n\tlocation /collection {\n\t\trewrite ^/collection/(.)/(.)/(.*) /view_collection.php?cid=\$1&type=\$2&\$query_string;\n\t\t}\n\tlocation /collections {\n\t\trewrite ^/collections/(.)/(.)/(.)/(.)/(.*) /collections.php?cat=\$1&sort=\$3&time=\$4&page=\$5&seo_cat_name=\$2;\n\t\trewrite ^/collections/([0-9]+) /collections.php?page=\$1;\n\t\trewrite ^/collections/?\$ /collections.php;\n\t\t}\n\tlocation /contact {\n\t\trewrite ^/contact/?\$ /contact.php;\n\t\t}\n\tlocation /create_group {\n\t\trewrite ^/create_group /create_group.php;\n\t\t}\n\tlocation /group {\n\t\trewrite ^/group/([a-zA-Z0-9].+) /view_group.php?url=\$1&\$query_string;\n\t\t}\n\tlocation /groups {\n\t\trewrite ^/groups/(.)/(.)/(.)/(.)/(.*) /groups.php?cat=\$1&sort=\$3&time=\$4&page=\$5&seo_cat_name=\$2; rewrite ^/groups/([0-9]+) /groups.php?page=\$1;\n\t\trewrite ^/groups/?\$ /groups.php;\n\t\t}\n\tlocation /item {\n\t\trewrite ^/item/(.)/(.)/(.)/(.) /view_item.php?item=\$3&type=\$1&collection=\$2;\n\t\t}\n\tlocation /members {\n\t\trewrite ^/members/?\$ /channels.php;\n\t\t}\n\tlocation /my_account {\n\t\trewrite ^/my_account /myaccount.php;\n\t\t}\n\tlocation /page {\n\t\trewrite ^/page/([0-9]+)/(.*) /view_page.php?pid=\$1;\n\t\t}\n\tlocation /photo_upload {\n\t\trewrite ^/photo_upload/(.*) /photo_upload.php?collection=\$1;\n\t\trewrite ^/photo_upload/?\$ /photo_upload.php;\n\t\t}\n\tlocation /photos {\n\t\trewrite ^/photos/(.)/(.)/(.)/(.)/(.*) /photos.php?cat=\$1&sort=\$3&time=\$4&page=\$5&seo_cat_name=\$2;\n\t\trewrite ^/photos/([0-9]+) /photos.php?page=\$1;\n\t\trewrite ^/photos/?\$ /photos.php;\n\t\t}\n\tlocation = /rss {\n\t\trewrite ^(.*)\$ /rss.php;\n\t\t}\n\tlocation /rss {\n\t\trewrite ^/rss/([a-zA-Z0-9].+)\$ /rss.php?mode=\$1&\$query_string;\n\t\t}\n\tlocation /search {\n\t\trewrite ^/search/result/?\$ /search_result.php;\n\t\t}\n\tlocation /signup {\n\t\trewrite ^/signup/?\$ /signup.php;\n\t\t}\n\tlocation = /sitemap.xml {\n\t\trewrite ^(.*)\$ /sitemap.php;\n\t\t}\n\tlocation /upload {\n\t\trewrite ^/upload/?\$ /upload.php;\n\t\t}\n\tlocation /user {\n\t\trewrite ^/user/(.*) /view_channel.php?user=\$1;\n\t\t}\n\tlocation /users {\n\t\trewrite ^/users/?\$ /channels.php;\n\t\t}\n\tlocation /video {\n\t\trewrite ^/video/(.)/(.) /watch_video.php?v=\$1&\$query_string; rewrite ^/video/([0-9]+)(.*) /watchvideo.php?v=\$1&\$query_string;\n\t\t}\n\tlocation /videos {\n\t\trewrite ^/videos/(.)/(.)/(.)/(.)/(.*) /videos.php?cat=\$1&sort=\$3&time=\$4&page=\$5&seo_cat_name=\$2;\n\t\trewrite ^/videos/([0-9]+) /videos.php?page=\$1;\n\t\trewrite ^/videos/?\$ /videos.php?\$query_string;\n\t\t}\n\tlocation /view_topic {\n\t\trewrite ^/view_topic/([a-zA-Z0-9].+)tid([0-9]+) /view_topic.php?tid=\$2&\$query_string;\n\t\t}\n\tserver_name example.com www.example.com;\n\troot /var/www/html;\n}' > /etc/nginx/sites-available/example.com.conf"

Δημιουργήστε έναν συμβολικό σύνδεσμο για το example.com.confαρχείο, που βρίσκεται στον /etc/nginx/sites-available/κατάλογο, στον /etc/nginx/sites-enabled/κατάλογο. Αντικαταστήστε το example.comπαρακάτω με το πραγματικό FQDN/όνομα τομέα σας.

sudo su -c "cd /etc/nginx/sites-enabled && ln -s ../sites-available/example.com.conf ."

Ενεργοποιήστε και ξεκινήστε τον διακομιστή PHP-FPM.

sudo systemctl enable nginx && sudo systemctl start nginx

Το Nginx είναι τώρα ρυθμισμένο και έτοιμο να παραδώσει σελίδες.

Εγκαταστήστε το ClipBucket

Πραγματοποιήστε λήψη της πιο πρόσφατης έκδοσης του ClipBucket και εξαγάγετε τα περιεχόμενα του uploadκαταλόγου μέσα στο αρχείο με tar-gzip ClipBucket στον /var/www/htmlκατάλογο.

sudo su - apache -c "wget -N -P /tmp/ https://github.com/arslancb/clipbucket/archive/4881.tar.gz -q" -s /bin/bash && sudo mkdir -p /var/www/html && sudo chown -R apache.apache /var/www/html && sudo su - apache -c "tar -C /var/www/html -zxf /tmp/4881.tar.gz clipbucket-4881/upload/ --strip-components=2" -s /bin/bash && sudo rm /tmp/4881.tar.gz

Δημιουργήστε μια βάση δεδομένων για ClipBucket και των χρηστών με SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEXκαι ALTERτα δικαιώματα, την αλλαγή ********σε ένα προσαρμοσμένο κωδικό πρόσβασης για το clipbucket_example_comχρήστη και εισάγετε τον κωδικό του root της MySQL, όταν σας ζητηθεί. Αντικαταστήστε όλες τις παρουσίες της example_comπαρακάτω εντολής με το πραγματικό σας FQDN/όνομα τομέα.

sudo mysql -u root -p -e "CREATE DATABASE clipbucket_example_com; GRANT ALTER,CREATE,DELETE,DROP,INDEX,INSERT,SELECT,UPDATE ON clipbucket_example_com.* TO clipbucket_example_com_admin@localhost IDENTIFIED BY '********'"

Τώρα, ανοίξτε το πρόγραμμα περιήγησής σας και εισαγάγετε τη διεύθυνση URL του διακομιστή, ( http://www.example.com), για παράδειγμα. Εάν λαμβάνετε ένα μήνυμα Unable to connectή ένα This site can’t be reachedμήνυμα, αυτό συμβαίνει επειδή η προεπιλεγμένη ρύθμιση τείχους προστασίας του CentOS δεν επιτρέπει τις εισερχόμενες συνδέσεις στη httpθύρα. Η ακόλουθη εντολή θα το ανοίξει.

sudo firewall-cmd --permanent --zone=public --add-service=http && sudo firewall-cmd --reload

Ανανεώστε τη σελίδα στο πρόγραμμα περιήγησής σας και θα δείτε τη σελίδα εγκατάστασης του ClipBucket.

Κάντε κλικ στο μπλε Ok, I agree, Now let me Continue!κουμπί για να συνεχίσετε στο βήμα 2.

Κάντε κλικ στο μπλε Continue To Next Stepκουμπί για να συνεχίσετε στο βήμα 3.

Πριν προχωρήσετε στο επόμενο βήμα της εγκατάστασης, βεβαιωθείτε ότι υπάρχουν πράσινοι έλεγχοι σε κάθε κατάλογο στη λίστα. Κάντε κλικ στο μπλε Continue To Next Stepκουμπί για να συνεχίσετε στο βήμα 4.

Εισαγάγετε το πραγματικό όνομα της βάσης δεδομένων στην Database Nameπεριοχή κειμένου. Στην Database Userπεριοχή κειμένου, εισαγάγετε τον πραγματικό χρήστη της βάσης δεδομένων. και στην Database Passwordπεριοχή κειμένου, τον πραγματικό κωδικό πρόσβασης της βάσης δεδομένων. Κάντε κλικ στο μπλε Check Connectionγια να συνεχίσετε στο βήμα 5.

Είσοδος διαχειριστής όνομα χρήστη, τον κωδικό πρόσβασης διαχειριστή και έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου στο Admin username, Admin Passwordκαι Admin Emailπεδία. Κάντε κλικ στο μπλε Save and Continueκουμπί για να συνεχίσετε στο βήμα 6.

Αντικαταστήστε τον προεπιλεγμένο τίτλο του ιστότοπου, το σλόγκαν του ιστότοπου και τη διεύθυνση URL του ιστότοπου. Κάντε κλικ στο μπλε Save and Continueκουμπί για να συνεχίσετε στο βήμα 7.

Κάντε κλικ στο μπλε Skip & Finishκουμπί εάν δεν θέλετε να εγγραφείτε και προχωρήστε στο επόμενο βήμα.

Στην τελευταία σελίδα, το πρόγραμμα εγκατάστασης σάς δίνει οδηγίες να αφαιρέσετε τον cb_installκατάλογο του διακομιστή για να ολοκληρώσετε την εγκατάσταση.

Καταργήστε τον /var/www/html/cb_installκατάλογο σύμφωνα με τις οδηγίες στην τελευταία σελίδα εγκατάστασης. Πλοηγηθείτε πίσω στο πρόγραμμα πελάτη SSH και χρησιμοποιήστε την παρακάτω εντολή για να καταργήσετε τον /var/www/html/cb_install/κατάλογο.

sudo rm -rf /var/www/html/cb_install

Πίσω στο πρόγραμμα περιήγησης, κάντε κλικ στο κόκκινο Continue to Admin Areaκουμπί για να προχωρήσετε στη σελίδα σύνδεσης.

Εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασης διαχειριστή για να συνδεθείτε.

Αφού συνδεθείτε, κάντε κλικ στο Generalσύνδεσμο στο αριστερό μενού για να αναπτύξετε το ακορντεόν. Κάντε κλικ στον Website Configurationsσύνδεσμο και κάντε κλικ στην Uploading and Conversion Settingsκαρτέλα. Αλλάξτε τον επιλογέα για Use Cronsσε Yes, την FFMPEG Pathπεριοχή κειμένου σε /usr/bin/ffmpeg, την PHP Pathπεριοχή κειμένου σε /usr/bin/php70, την MP4Box Pathπεριοχή δοκιμής σε /usr/bin/MP4Boxκαι την εισαγωγή /usr/bin/mplayerστην MPlayer Pathπεριοχή κειμένου. Κάντε κλικ στο μπλε Update Settingsκουμπί για να αποθηκεύσετε τις αλλαγές.

Για να επαληθεύσετε το μέγιστο μέγεθος των αρχείων που μπορούν να μεταφορτωθούν στο ClipBucket, κάντε κλικ στον Tool Boxσύνδεσμο, στο αριστερό μενού, για να αναπτύξετε το ακορντεόν. Κάντε κλικ στον Server Modules Infoσύνδεσμο. POST MAX SIZE, UPLOAD MAX FILESIZEκαι MEMORY LIMITόλα θα έχουν πράσινους ελέγχους και θα ταιριάζουν με το μέγιστο μέγεθος αρχείου μεταφόρτωσης που έχετε ορίσει στο /etc/opt/remi/php70/php.iniαρχείο και τη client_max_body_sizeμεταβλητή στο /etc/nginx/nginx.confαρχείο.

Για να επαληθεύσετε ότι οι αλλαγές που κάνατε στην Uploading and Conversion Settingsκαρτέλα, κάντε κλικ στον Server Conversion Infoσύνδεσμο. Θα πρέπει πράσινο ελέγχους στα χωράφια για FFMPEG, PHP CLI, Media Info, MP4Box, ImageMagickκαι FFProbe.

Πλοηγηθείτε πίσω στο πρόγραμμα πελάτη SSH για να ρυθμίσετε τις εργασίες cron που είναι απαραίτητες για το ClipBucket για μετατροπή βίντεο στο παρασκήνιο.

sudo su -c "echo -e '* * * * * /usr/bin/php70 -q /var/www/html/actions/video_convert.php\n* * * * * /usr/bin/php70 -q /var/www/html/actions/verify_converted_videos.php\n0 0,12,13 * * * /usr/bin/php70 -q /var/www/html/actions/update_cb_stats.php' > /var/spool/cron/apache" -s /bin/bash && sudo chown apache.apache /var/spool/cron/apache

Το ClipBucket είναι πλέον έτοιμο για μεταφόρτωση και μετατροπή βίντεο. Εάν θέλετε να το προσαρμόσετε περαιτέρω, ανατρέξτε στην επίσημη τεκμηρίωση του ClipBucket .


Εγκαταστήστε το Plesk στο CentOS 7

Εγκαταστήστε το Plesk στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων

Εγκαταστήστε το Lets Encrypt SSL σε εφαρμογή WordPress με ένα κλικ

Εγκαταστήστε το Lets Encrypt SSL σε εφαρμογή WordPress με ένα κλικ

Εισαγωγή Το Lets Encrypt είναι μια υπηρεσία αρχής έκδοσης πιστοποιητικών που προσφέρει δωρεάν πιστοποιητικά TLS/SSL. Η διαδικασία εγκατάστασης απλοποιείται από το Certbot,

Πώς να ρυθμίσετε έναν διακομιστή Tekkit Classic στο Ubuntu 16.10

Πώς να ρυθμίσετε έναν διακομιστή Tekkit Classic στο Ubuntu 16.10

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Τι είναι το Tekkit Classic; Το Tekkit Classic είναι ένα modpack για το παιχνίδι που όλοι γνωρίζουν και αγαπούν. Minecraft. Περιέχει μερικά από τα εδ

Δημιουργία ιστολογίου Jekyll στο Ubuntu 16.04

Δημιουργία ιστολογίου Jekyll στο Ubuntu 16.04

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Jekyll είναι μια εξαιρετική εναλλακτική λύση στο WordPress για blogging ή κοινή χρήση περιεχομένου. Δεν απαιτεί βάσεις δεδομένων και είναι πολύ εύκολο

Πώς να ρυθμίσετε αναβαθμίσεις χωρίς παρακολούθηση στο Debian 9 (Stretch)

Πώς να ρυθμίσετε αναβαθμίσεις χωρίς παρακολούθηση στο Debian 9 (Stretch)

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εάν αγοράσετε έναν διακομιστή Debian, τότε θα πρέπει να έχετε πάντα τις πιο πρόσφατες ενημερώσεις κώδικα και ενημερώσεις, είτε κοιμάστε είτε όχι

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους της PHP 7.0 ή της PHP 7.1 στο Ubuntu 16.04

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους της PHP 7.0 ή της PHP 7.1 στο Ubuntu 16.04

Η PHP και τα σχετικά πακέτα είναι τα πιο συχνά χρησιμοποιούμενα στοιχεία κατά την ανάπτυξη ενός διακομιστή web. Σε αυτό το άρθρο, θα μάθουμε πώς να ρυθμίζετε την PHP 7.0 ή την PHP 7.1 o

Πώς να εγκαταστήσετε το Squid Proxy στο CentOS

Πώς να εγκαταστήσετε το Squid Proxy στο CentOS

Το Squid είναι ένα δημοφιλές, δωρεάν πρόγραμμα Linux που σας επιτρέπει να δημιουργήσετε έναν διακομιστή μεσολάβησης web προώθησης. Σε αυτόν τον οδηγό, θα δείτε πώς να εγκαταστήσετε το Squid στο CentOS για να σας μετατρέψει

Πώς να εγκαταστήσετε το Lighttpd (Στοίβα LLMP) στο CentOS 6

Πώς να εγκαταστήσετε το Lighttpd (Στοίβα LLMP) στο CentOS 6

Εισαγωγή Το Lighttpd είναι ένα πιρούνι του Apache που έχει ως στόχο να είναι πολύ λιγότερο εντάσεως πόρων. Είναι ελαφρύ, εξ ου και το όνομά του, και είναι αρκετά απλό στη χρήση. Εγκατάσταση

Τρεις δωρεάν πίνακες ελέγχου διακομιστή (Γρήγορη εγκατάσταση)

Τρεις δωρεάν πίνακες ελέγχου διακομιστή (Γρήγορη εγκατάσταση)

1. Virtualmin/Webmin Το Virtualmin είναι ένας ισχυρός και ευέλικτος πίνακας ελέγχου φιλοξενίας ιστοσελίδων για συστήματα Linux και UNIX που βασίζεται στη γνωστή διαδικτυακή βάση ανοιχτού κώδικα

Ρύθμιση μιας εφαρμογής Yii στο Ubuntu 14.04

Ρύθμιση μιας εφαρμογής Yii στο Ubuntu 14.04

Το Yii είναι ένα πλαίσιο PHP που σας επιτρέπει να αναπτύσσετε εφαρμογές πιο γρήγορα και εύκολα. Η εγκατάσταση του Yii στο Ubuntu είναι απλή, όπως θα μάθετε ακριβώς

Χρήση της οθόνης στο Ubuntu 14.04

Χρήση της οθόνης στο Ubuntu 14.04

Το Screen είναι μια εφαρμογή που επιτρέπει πολλαπλή χρήση περιόδων σύνδεσης τερματικού σε ένα παράθυρο. Αυτό σας επιτρέπει να προσομοιώνετε πολλά παράθυρα τερματικού όπου είναι ma

Ρυθμίστε τον δικό σας διακομιστή DNS σε Debian/Ubuntu

Ρυθμίστε τον δικό σας διακομιστή DNS σε Debian/Ubuntu

Αυτό το σεμινάριο εξηγεί πώς να ρυθμίσετε έναν διακομιστή DNS χρησιμοποιώντας Bind9 σε Debian ή Ubuntu. Σε όλο το άρθρο, αντικαταστήστε το your-domain-name.com ανάλογα. Στο ου

Χρήση Logrotate για διαχείριση αρχείων καταγραφής

Χρήση Logrotate για διαχείριση αρχείων καταγραφής

Εισαγωγή Το Logrotate είναι ένα βοηθητικό πρόγραμμα Linux που απλοποιεί τη διαχείριση αρχείων καταγραφής. Συνήθως εκτελείται μία φορά την ημέρα μέσω μιας εργασίας cron και διαχειρίζεται τη βάση καταγραφής

Τροποποίηση Icinga2 για χρήση Μοντέλου Master/Client σε CentOS 6 ή CentOS 7

Τροποποίηση Icinga2 για χρήση Μοντέλου Master/Client σε CentOS 6 ή CentOS 7

Το Icinga2 είναι ένα ισχυρό σύστημα παρακολούθησης και όταν χρησιμοποιείται σε μοντέλο master-client, μπορεί να αντικαταστήσει την ανάγκη για ελέγχους παρακολούθησης που βασίζονται σε NRPE. Ο κύριος-πελάτης

Ρύθμιση του Red5 Media Server στο Ubuntu 16.04

Ρύθμιση του Red5 Media Server στο Ubuntu 16.04

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Red5 είναι ένας διακομιστής πολυμέσων ανοιχτού κώδικα που υλοποιείται σε Java που σας επιτρέπει να εκτελείτε εφαρμογές Flash πολλών χρηστών, όπως η ζωντανή ροή

Μεταγλώττιση και εγκατάσταση του Nginx με τη μονάδα PageSpeed ​​στο Debian 8

Μεταγλώττιση και εγκατάσταση του Nginx με τη μονάδα PageSpeed ​​στο Debian 8

Σε αυτό το άρθρο, θα δούμε πώς να μεταγλωττίσετε και να εγκαταστήσετε το Nginx mainline από τις επίσημες πηγές του Nginx με τη μονάδα PageSpeed, η οποία σας επιτρέπει να

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο Ubuntu 16.04 LTS

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο Ubuntu 16.04 LTS

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο CentOS 7

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή

Πώς να εγκαταστήσετε το Vanilla Forum στο Ubuntu 16.04

Πώς να εγκαταστήσετε το Vanilla Forum στο Ubuntu 16.04

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Vanilla forum είναι μια εφαρμογή φόρουμ ανοιχτού κώδικα γραμμένη σε PHP. Είναι πλήρως προσαρμόσιμο, εύκολο στη χρήση και υποστηρίζει εξωτερικά

Πώς να εγκαταστήσετε το Kanboard στο Ubuntu 18.04 LTS

Πώς να εγκαταστήσετε το Kanboard στο Ubuntu 18.04 LTS

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Το Kanboard είναι ένα δωρεάν και ανοιχτού κώδικα πρόγραμμα λογισμικού διαχείρισης έργων που έχει σχεδιαστεί για να διευκολύνει και να οπτικοποιήσει

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα