Προαπαιτούμενα
Βήμα 1: Ενημερώστε το σύστημα
Βήμα 2: Εγκαταστήστε το Apache
Βήμα 3: Εγκαταστήστε την PHP και τις απαραίτητες επεκτάσεις PHP
Βήμα 4: Εγκαταστήστε το MariaDB και ρυθμίστε μια βάση δεδομένων για το NextCloud
Βήμα 5: Εγκαταστήστε το NextCloud
Το NextCloud, όπως ακριβώς υποδηλώνει το όνομά του, είναι μια πολλά υποσχόμενη εναλλακτική λύση μιας άλλης λύσης φιλοξενίας αρχείων ανοιχτού κώδικα OwnCloud.
Σε αυτό το άρθρο, θα σας δείξω πώς να εγκαταστήσετε το NextCloud σε μια παρουσία διακομιστή Vultr CentOS 7.
Προαπαιτούμενα
- Μια πρόσφατα δημιουργημένη παρουσία διακομιστή Vultr CentOS 7.
- Ένας χρήστης sudo για σύνδεση.
Βήμα 1: Ενημερώστε το σύστημα
Συνδεθείτε στο σύστημα CentOS 7 ως χρήστης sudo και, στη συνέχεια, ενημερώστε το σύστημα στην πιο πρόσφατη σταθερή κατάσταση:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Μετά την επανεκκίνηση, συνεχίστε να χρησιμοποιείτε τον ίδιο χρήστη sudo για να συνδεθείτε.
Βήμα 2: Εγκαταστήστε το Apache
Εγκαταστήστε τον Apache ως διακομιστή ιστού για το NextCloud:
sudo yum install httpd -y
Απενεργοποιήστε την προκαθορισμένη σελίδα καλωσορίσματος Apache:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Για λόγους ασφαλείας, αποτρέψτε τον Apache από την εμφάνιση περιεχομένου στον ριζικό κατάλογο ιστού /var/www/html:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Αποτρέψτε τον Apache από τη φόρτωση μονάδων WebDAV, όπως απαιτείται από το NextCloud:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.modules.d/00-dav.conf
Ξεκινήστε την υπηρεσία Apache και ξεκινήστε την κατά την εκκίνηση:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Βήμα 3: Εγκαταστήστε την PHP και τις απαραίτητες επεκτάσεις PHP
Το NextCloud συνιστά τη χρήση PHP 5.6. Εδώ, μπορείτε να εγκαταστήσετε την PHP 5.6 και τις απαραίτητες επεκτάσεις PHP χρησιμοποιώντας το αποθετήριο IUS YUM.
Εγκαταστήστε το αποθετήριο IUS YUM:
cd
wget https://centos7.iuscommunity.org/ius-release.rpm
sudo rpm -Uvh ius-release.rpm
Εγκαταστήστε την PHP 5.6 και τις απαραίτητες επεκτάσεις χρησιμοποιώντας το αποθετήριο IUS YUM:
sudo yum install php56u php56u-common php56u-xml php56u-gd php56u-mbstring php56u-process php56u-mysqlnd php56u-intl php56u-mcrypt php56u-imap php56u-cli -y
Αυξήστε το μέγεθος του αρχείου μεταφόρτωσης σε μια κατάλληλη τιμή, ας πούμε 50 MB:
sudo cp /etc/php.ini /etc/php.ini.bak
sudo sed -i "s/post_max_size = 8M/post_max_size = 50M/" /etc/php.ini
sudo sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 50M/" /etc/php.ini
Κάντε επανεκκίνηση του Apache για να εφαρμόσετε τις παραπάνω τροποποιήσεις:
sudo systemctl restart httpd.service
Βήμα 4: Εγκαταστήστε το MariaDB και ρυθμίστε μια βάση δεδομένων για το NextCloud
Εγκαταστήστε το MariaDB:
sudo yum install mariadb mariadb-server -y
Ξεκινήστε την υπηρεσία MariaDB και ξεκινήστε την κατά την εκκίνηση:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Ασφαλής εγκατάσταση MariaDB:
sudo /usr/bin/mysql_secure_installation
Κατά τη διάρκεια της διαδικασίας, απαντήστε στις ερωτήσεις μία προς μία ως εξής:
Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Τώρα, ήρθε η ώρα να ρυθμίσετε μια βάση δεδομένων για το NextCloud:
mysql -u root -p
Εισαγάγετε τον κωδικό πρόσβασης root MariaDB που ορίσατε νωρίτερα για να συνδεθείτε.
Στο κέλυφος της MySQL, πρέπει να δημιουργήσετε μια βάση δεδομένων και έναν χρήστη βάσης δεδομένων και, στη συνέχεια, να εκχωρήσετε δικαιώματα σε αυτόν τον χρήστη της βάσης δεδομένων.
Χρησιμοποιήστε τις παρακάτω εντολές για να ολοκληρώσετε την εργασία. Φροντίστε να αντικαταστήσετε το όνομα της βάσης δεδομένων "nextcloud", το όνομα χρήστη της βάσης δεδομένων "nextclouduser" και τον κωδικό πρόσβασης χρήστη της βάσης δεδομένων "yourpassword" σε κάθε εντολή με τις δικές σας.
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Βήμα 5: Εγκαταστήστε το NextCloud
Κατεβάστε την πιο πρόσφατη σταθερή έκδοση του NextCloud από τον επίσημο ιστότοπο του. Τη στιγμή της γραφής, ο πιο πρόσφατος αριθμός σταθερής έκδοσης είναι 9.0.53.
cd
wget https://download.nextcloud.com/server/releases/nextcloud-9.0.53.zip
Αποσυμπιέστε το αρχείο NextCloud:
sudo yum install unzip -y
unzip nextcloud-9.0.53.zip
Μετακινήστε όλα τα αρχεία NextCloud στον ριζικό κατάλογο ιστού και, στη συνέχεια, παραχωρήστε τα κατάλληλα δικαιώματα σε αυτά:
sudo mv nextcloud/* /var/www/html && sudo chown apache:apache -R /var/www/html
Εγκαταστήστε το NextCloud από τη διεπαφή γραμμής εντολών με τα ακόλουθα δείγματα παραμέτρων. Φροντίστε να τα αντικαταστήσετε με δικά σας.
- όνομα βάσης δεδομένων: nextcloud
- βάση δεδομένων-χρήστης: nextclouduser
- βάση δεδομένων-pass: ο κωδικός σας
- διαχειριστής-χρήστης: διαχειριστής
- admin-pass nextcloudadminpassword
Τρέξιμο:
cd /var/www/html/
sudo -u apache php occ maintenance:install --database "mysql" --database-name "nextcloud" --database-user "nextclouduser" --database-pass "yourpassword" --admin-user "admin" --admin-pass "nextcloudadminpassword"
Εάν όλα πάνε καλά, το αποτέλεσμα θα είναι:
Nextcloud is not installed - only a limited number of commands are available
ownCloud was successfully installed
Προσθέστε την IP του διακομιστή σας (ας πούμε ότι είναι 203.0.113.1) και το όνομα τομέα (ας πούμε ότι είναι www.example.com) στη λίστα αξιόπιστων τομέων του NextCloud:
sudo vi /var/www/html/config/config.php
Βρείτε τη γραμμή:
0 => 'localhost',
Εισαγάγετε τις ακόλουθες δύο γραμμές ακριβώς από κάτω:
1 => '203.0.113.1',
2 => 'www.example.com',
Αποθήκευση και έξοδος:
:wq!
Για λόγους ασφαλείας, πρέπει να ορίσετε ισχυρά δικαιώματα στα αρχεία και τους καταλόγους Nextcloud μετά την εγκατάσταση:
sudo find /var/www/html -type f -print0 | sudo xargs -0 chmod 0640
sudo find /var/www/html -type d -print0 | sudo xargs -0 chmod 0750
sudo chown -R root:apache /var/www/html
sudo chown -R apache:apache /var/www/html/apps
sudo chown -R apache:apache /var/www/html/config
sudo chown -R apache:apache /var/www/html/data
sudo chown -R apache:apache /var/www/html/themes
sudo chown -R apache:apache /var/www/html/updater
sudo chmod 0644 /var/www/html/.htaccess
sudo chown root:apache /var/www/html/.htaccess
sudo chmod 0644 /var/www/html/data/.htaccess
sudo chown root:apache /var/www/html/data/.htaccess
Επιπλέον, να θυμάστε ότι υπάρχει ένας κατάλογος που δεν έχει δημιουργηθεί με το όνομα /var/www/html/assets. Εάν δημιουργήσετε αυτόν τον κατάλογο στο μέλλον, πρέπει επίσης να εκτελέσετε την ακόλουθη εντολή:
sudo chown -R apache:apache /var/www/html/assets
Αυτές οι ρυθμίσεις βοηθούν στην αποτροπή μη εξουσιοδοτημένης πρόσβασης στο NextCloud.
Note: If you need to update NextCloud in the future, you can temporarily loosen permissions using the following command:
sudo chown apache:apache -R /var/www/html
After the update, still set strong permissions as above.
Κάντε επανεκκίνηση του Apache για να τεθούν σε ισχύ οι αλλαγές σας:
sudo systemctl restart httpd.service
Τροποποιήστε τους κανόνες του τείχους προστασίας για να επιτρέψετε την πρόσβαση στους επισκέπτες:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Αυτό είναι. Τώρα μπορείτε να κατευθύνετε το πρόγραμμα περιήγησής σας στο http://203.0.113.1, και να χρησιμοποιήσετε τον λογαριασμό διαχειριστή NextCloud για να συνδεθείτε.
Ευχαριστούμε που το διαβάσατε.