Bài viết này sẽ hướng dẫn các bạn cài đặt Nextcloud với Apache, MariaDB, …trên Ubuntu 18.04. bao gồm các config cơ bản đường dẫn, cache, ngôn ngữ… Bạn sẽ có 1 nền tảng đám mây để tạo, lưu trữ và quản lý files của riêng mình.
Nextcloud là gì?
Nextcloud là 1 phần mềm client-server để tạo, lưu trữ và quản lý files với các chức năng tương tự Dropbox. Nhưng không giống như Dropbox, Nextcloud là mã nguồn mở và miễn phí, có nghĩa là bất kỳ ai cũng được phép cài đặt và vận hành nó trên các thiết bị máy chủ riêng của họ.
- Phát triển bởi: Nextcloud GmbH, Community
Phiên bản ổn đinh: 16.0.1 (16 May 2019) - Github Repository: github.com/nextcloud/server
- Ngôn ngữ lập trình: PHP, JavaScript
- Hệ thống: Linux
- Clients: Windows, macOS, Linux, Android, iOS
- Loại phần mềm: Online storage, data synchronization
- Licence: AGPLv3
- Website: nextcloud.com
Yêu cầu hệ thống
Tối thiểu | Khuyến nghị | |
---|---|---|
Processor | 2×1 GHz | 4×2 GHz |
Ram | 512 MB | 8 GB |
Disk | 4 GB | 64 GB |
Platform | Nextcloud 15 | Nextcloud 16 |
OS | Linux | Ubuntu 18.04 |
Database | Sqlite / MySQL / PostgreSQL | MariaDB 10.2 |
PHP | PHP 7.2 | PHP 7.2 |
Webserver | HTTPS | Nginx 1.18.8 HTTPS |
PECL | Curl | Zip, Imagick, Curl |
Libraries | imagemagick, librsvg, wbritish, wamerican, wngerman, wfrench, wspanish, witalian, wportuguese |
Hướng dẫn cài đặt Nextcloud trên Ubuntu
Cài đặt Web Server
Sử dụng tài khoản root để cài đặt
Đầu tiên là đưa server về tình trạng update mới nhất
sudo apt-get update sudo apt-get upgrade
Cài đặt Apache, MariaDB
sudo apt-get install apache2 libapache2-mod-php7.2
Cài đặt PHP 7.2 và các PHP Module cần thiết
sudo apt-get install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php-imagick php7.2-xml php7.2-zip
Cài đặt và Tạo Database
Cài đặt MariaDB
sudo apt-get install mariadb-server
Set password cho user root của MariaDB
sudo mysql_secure_installation
Tạo databse: Tên database, Database User
sudo mysql -u root -p MariaDB [(none)]> CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; MariaDB [(none)]> create user nextcloud@localhost identified by '123456'; MariaDB [(none)]> grant all privileges on nextcloud.* to nextcloud@localhost;
Download và giải nén NextCloud
Import gpg key
wget https://nextcloud.com/nextcloud.asc gpg --import nextcloud.asc
Download và giải nén tới thư mục DocumentRoot của server
wget https://download.nextcloud.com/server/releases/nextcloud-16.0.1.zip unzip nextcloud-16.0.1.zip -d /var/www/html/
Cấu hình Apache Virtualhost
Tạo 1 file: /etc/apache2/sites-available/nextcloud.conf có nội dung như sau:
Alias /nextcloud "/var/www/html/nextcloud/" <VirtualHost *:80> DocumentRoot /var/www/html/nextcloud/ ServerName your.domain.name <Directory /var/www/html/nextcloud/> Require all granted Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud </Directory> </VirtualHost>
Kích hoạt Virtualhost
sudo a2ensite nextcloud.conf sudo a2dissite 000-default.conf sudo apache2ctl configtest sudo systemctl reload apache2
Kích hoạt các module cần thiết cho Apache
sudo sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime sudo systemctl reload apache2
Phân quyền cho thư mục
sudo chown -R www-data:www-data /var/www/html/nextcloud/
Để biết Apache đang được chạy dưới quyền của User nào thì chúng ta chạy command: apachectl -S
Cài đặt NextCloud
Truy cập đường dẫn http://<domain>.com, chúng ta sẽ thấy giao diện cài đặt Nextcloud:
Các bạn điền các thông cần thiết bao gồm:
- Tài khoản quản trị: Username và Password để đăng nhập vào trang quản trị
- Thư mục lưu trữ dữ liệu: Mặc định là thư mục data nằm trong thư mục root của Web Server
- Cơ sở dữ liệu; Điền thông tin về CSDL mà bạn đã tạo ở mục “Cài đặt và tạo Database“
=> Sau đó bấm vào [ Cài đặt hoàn tất ]
Sau khi cài đặt xong bạn sẽ vào trang quản trị của Nextcloud như bên dưới:
Hướng dẫn config Nextcloud
Thiết lập ngôn ngữ
Sửa file: <web_root>/nextcloud/config/config.php, thêm 2 dòng sau vào file config.
"default_language" => "en", "force_language" => "en",
Thiết lập Pretty URLs
Mặc định ban đầu có index.php trên đường dẫn của Nextcloud, để remove nó đi chúng ta cần cài mod_rewrite trên Apache như đã hướng dẫn ở trên phần cài đặt. Sau đó sửa file config/config.php của Nextcloud và thêm dòng như bên dưới:
'htaccess.RewriteBase' => '/',
Sau đó chạy command sau để update lại file .htaccess
sudo -u www-data php /var/www/nextcloud/occ maintenance:update:htaccess
Cấu hình Redis Cache
Để tăng performance, chúng ta nên cài đặt thêm cache, Nextcloud hỗ trợ 3 loại cache là Memcached, Redis Cache, và APU. Trong bài viết này mình sẽ hướng dẫn các bạn cài Redis Cache.
Để cài đặt Redis Cache trên Ubuntu chúng ta sử dụng command sau:
sudo apt-get install redis redis-server redis-tools
Cài đặt module php hỗ trợ redis và reset lại apache để nhận module
sudo apt-get install php-redis sudo systemctl restart apache2
Kiểm tra và lấy thông tin của Redis Service:
ps aux | grep redis
Sửa file config/config.php thêm nội dung như bên dưới:
'memcache.local' => '\OC\Memcache\Redis', 'redis' => array( 'host' => '127.0.0.1', 'port' => 6379, ),
Nguồn: vinasupport.com
Mình làm đc rồi, bài viết quá chi tiết!