Cài đặt và cấu hình Nextcloud trên SUSE 15 Linux - step by step có hình ảnh
Hôm nay giới thiệu về Nextcloud, vậy nó là gì, ok sơ qua wikipedia như sau : là một phần mềm client-server software để tạo và sử dụng các dịch vụ lưu trữ tập tin, đơn giản là nó giống OneDrive hoặc Google Drive dùng để lưu trữ, nhưng không những vậy nó còn tích hợp vào các module khá là hay.
Để dùng Nextcloud bạn sẽ có nhiều lựa chọn như sau, có thể dùng free basic thẳng từ host của Nextcloud, phần này chỉ basic thôi, muốn ngon hơn thì tiền thôi :).
Đối với Doanh nghiệp thì nó cũng hỗ trợ full luôn, cũng như trên là bạn muốn ngon thì tiền thôi là ngon liền :) .Tham khảo thông tin sau
https://nextcloud.com/pricing/
Còn loại thứ 3 là tự cài, chính vì thế mới có bài viết ngày hôm nay, hôm nay chưa nói về HA nhé, nói cách cài trước và lựa chọn mới sẽ là Cài đặt và cấu hình Nextcloud trên SUSE 15 Linux.
Server :
Server SUSE 15 Linux - 2 ổ đĩa dùng để chạy OS và chứa Data.
Đối với ổ data : Create a new empty GPT partition table -> Add a new partition -> Format partition ->Mount partition -> OK.
fdisk /dev/sdb
Chọn g //create a new empty GPT partition table
chọn n //add a new partition
mkfs.ext4 /dev/sdb1 //Format partition
mkdir /mnt/data_nextcloud/
vi /etc/fstab
/dev/sdb1 /mnt/data_nextcloud ext4 defaults 0 0
mount -a
chmod -R 0770 /mnt/data_nextcloud/
chown wwwrun /mnt/data_nextcloud/
LAMP (Linux, Apache, MySQL, PHP):
Nextcloud sử dụng PHP và shell là chính, ta phải cài môi trường để chạy php, như trước đây trên Centos thì việc cài Apache khá đơn giản ở phần hướng dẫn cài đặt apache tren centos 7 sẽ có. Về cơ bản không gì thay đổi nhiều, đới với SUSE 15 Linux nó cũng vậy thôi.
zypper install apache2
zypper in php7 php7-mysql apache2-mod_php7 php7-zip php7-mbstring php7-zlib php7-openssl php7-fileinfo php7-pcntl php7-posix
vi /etc/apache2/mod_mime-defaults.conf
AddType application/x-httpd-php .php
vi /etc/php7/apache2/php.ini
//Chỉnh các tham số sau :
post_max_size = 50G
upload_max_filesize = 25G
max_file_uploads = 200
max_input_time = 3600
max_execution_time = 3600
session.gc_maxlifetime = 3600
memory_limit = 512M
// Đảm bảo enable các a2enmod sau
a2enmod php7
a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
systemctl enable apache2.servic
systemctl start apache2.servic
Mở port với các dịch vụ tương ứng, hoặc có thể disable firewall luôn cho nhanh.
MariaDB
zypper install mariadb mariadb-tools
systemctl enable mysql
systemctl start mysql
phpMyAdmin
Cái này muốn cài không thì tùy, dùng để quản lý DB cho dễ dùng, nếu cài đơn giản như sau.
Tạo user để quản lý DB như bên dưới.
zypper install phpMyAdmin
mysql -p -u root
CREATE USER 'loc.pham'@localhost IDENTIFIED BY 'conchimnon@123';
GRANT ALL PRIVILEGES ON *.* TO 'loc.pham'@localhost;
Tạo DB cho Nextcloud
create database nextcloud;
grant all privileges on nextcloud.* to ncuser@localhost identified by 'conchimnon@123';
Nextcloud :
Để làm chủ được Nextcloud, cách tốt nhất là bạn nên cài manual, vì khi cài vậy bạn mới có nhiều cơ hội phát hiện cái sai của mình, hiểu được hệ thống hơn. Đơn giản khi có sự cố xảy ra bạn còn biết đường mà kiểm tra lỗi.
Cách cài manual như sau :
Version hiện tại là 23, bạn có thể theo đường dẫn bên dưới chọn version và kéo về
cd /srv/www/htdocs/
wget https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip
unzip nextcloud-23.0.0.zip
chown -R wwwrun /srv/www/htdocs/nextcloud/
Đăng nhập vào để cài đặt
http://192.168.1.100/nextcloud/
Có một số module phải enable ssl mới có thể dùng được, vì đòi hỏi tính bảo mật. OK, xúc thôi.
Cách tìm SSL free và mở port public ra internet, hiện tại có domain nên add thêm subdomain vào để test.
https://manage.sslforfree.com/dashboard
Sau khi đăng ký xong, thêm tên miền vào thì nó trả về Certificate, tương tự nếu không dùng free thì có thể mua SSL về dùng.
Config như sau :
mkdir /etc/ssl/nextcloud.phamquangloc.vn
Copy 3 file vừa download ở trên về bỏ vào thư mục ssl này
vi /etc/apache2/listen.conf
Listen 443
<VirtualHost *:443>
DocumentRoot "/srv/www/htdocs"
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/ssl/nextcloud.phamquangloc.vn/certificate.crt
SSLCertificateKeyFile /etc/ssl/nextcloud.phamquangloc.vn/private.key
SSLCertificateChainFile /etc/ssl/nextcloud.phamquangloc.vn/ca_bundle.crt
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/srv/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
systemctl restart apache
Vào file config Nextcloud để cấu hình nếu vào http sẽ redirect sang https, trỏ domain cho nextcloud để khi dùng nextcloud.phamquangloc.vn sẽ hoạt động.
cd /srv/www/htdocs/nextcloud/config/
vi config.php
1 => 'nextcloud.phamquangloc.vn',
'overwriteprotocol' => 'https',
Tạo bảng ghi A trỏ về IP host và CNAME trỏ về SSL, thông tin này sẽ được cung cấp khi bạn xác minh SSL.
1D4B7C42EA12FF3F366450ABB4.10F69CDFE409645B068081A2EA79C443.1b7fa8f4dcda56f.comodoca.com
Nat port router
Đây là lab nên sẽ không bảo mật, nếu setup thực tế đừng mở port phơi ra internet nhé.
Thành quả cuối cùng
OK, đây là cách cài đặt và cấu hình Nextcloud trên SUSE 15 Linux , dùng tất cả các module hữu ích, cách cài đặt ở bài này và bài sau sẽ ngồi chém gió các chức năng thú vị của nó. Theo đánh giá cá nhân thì Nextcloud khá là good :)