install Nextcloud in 3 Min.
Nextcloud นี้เป็นทายาทของ ownCloud ผู้ก่อตั้ง ownCloud หนีมาตั้งบริษัทใหม่เฉย เลยทำให้สองบริษัทนี้เป็นคู่แข่งโดยปริยาย พวก User Interface หากเคยใช้เจ้าใดเจ้าหนึ่งมาก่อน เรียกได้ว่าแทบจะลอก layout กันมาเลย
วันนี้เข้ามาเขียนโน๊ต install Nextcloud บน Ubuntu 18.04.3 LTS กันลืม จริงๆมันลงง่ายเหมือน ownCloud น่ะแหละ ใครใช้ Ubuntu 18.04.3 LTS ลอก Code ลงไปติดตั้งได้เลย
เริ่มต้น สร้าง root password กันก่อนเลย
sudo passwd root
หลังจากสร้าง Password root แล้ว ใช้คำสั่ง su — เพือใช่สิทธิ root
Update/upgrade
sudo apt-get update
sudo apt-get upgrade -y
install the LAMP (Linux Apache MariaDB PHP)
sudo apt-get install apache2 mariadb-server apt-transport-https -y
Start and enable the web and database servers with the following commands:
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mariadb
sudo systemctl enable mariadb
install the proper PHP versions
sudo wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
sudo echo "deb https://packages.sury.org/php/ bionic main" | tee /etc/apt/sources.list.d/ondrej.list
apt-get update
Install the PHP packages (and other dependencies) with the command:
sudo apt-get install libapache2-mod-php php7.2 php7.2-xml php7.2-curl php7.2-gd php7.2 php7.2-cgi php7.2-cli php7.2-zip php7.2-mysql php7.2-mbstring wget unzip -y
PHP configured ตรงนี้มีแก้ไข config นิดหน่อย ตาม List หลายการดังนี้
sudo nano /etc/php/7.2/apache2/php.ini
แก้ไขบรรทัดเหล่านี้
memory_limit = 512M
upload_max_filesize = 200M
max_execution_time = 360
post_max_size = 200M
date.timezone = TIME/ZONE
key ลัดให้กด Ctrl+W เพื่อหาข้อความ เช่น จะหา memory_limit = 512M ใน Note เราก็กด Ctrl+W แล้วพิมพ์ memory_limit งมหาเองตาลาย หลังจากแก้ไขเสร็จให้กด Ctrl+X และ Y เพื่อ Save
Configure MariaDB and create the database
sudo mysql_secure_installation
หลังพิมพ์ sudo mysql_secure_installation จะขึ้นให้ใส่รหัส root และให้ตอบ n ทุกข้อ
create the necessary database
mysql -u root -p
หลังจากพิมพ์ mysql -u root -p ให้ก็อปข้อความนี้ลงไปพร้อมกันเลย ไม่ต้องพิมพ์แต่ละบรรทัด
CREATE DATABASE nextclouddb;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON nextclouddb.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
exit
Configure Apache
sudo nano /etc/apache2/sites-available/nextcloud.conf
หลังจากใช้คำสั่งด้านบน จะขึ้นหน้าโน๊ตเปล่าขึ้นมา ให้ก็อปข้อความตามนี้ลงไป
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "/var/www/html/nextcloud"
ServerName example.com
<Directory "/var/www/html/nextcloud/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log
</VirtualHost>
กด Save และปิด
Disable the default site and enable the Nextcloud
sudo a2dissite 000-default
sudo a2ensite nextcloud
Restart Apache with the command
sudo systemctl restart apache2
Installing Nextcloud
sudo mkdir /var/www/html/nextcloud
sudo chown www-data:www-data /var/www/html/nextcloud
sudo chmod 750 /var/www/html/nextcloud
sudo mkdir -p /var/nextcloud/data
sudo chown www-data:www-data /var/nextcloud/data
sudo chmod 750 /var/nextcloud/data
คำสั่งด้านบนเป็นคำสั่งในการสร้างไดเรกทรอรี่ และการให้สิทธิ chmod ( Permission)
Download and unpack the Nextcloud installer file with the following commands
cd /var/www/html/nextcloud
sudo wget https://download.nextcloud.com/server/installer/setup-nextcloud.php
sudo chown www-data:www-data setup-nextcloud.php
ขั้นตอนการ install มีเพียงแค่นี้ของทางฝั่ง terminal ต่อไปจะเป็นหน้า interface
ให้เช็ค IP เครื่องก่อนเลย เราจะเข้าผ่าน browser ให้พิมพ์ http://SERVER_IP/setup-nextcloud.php SERVER_IP คือ ip เครื่องเราน่ะแหละ หากจะใช้ภายนอก ให้ใส่ IP จริงบน Linux เลย ใครไม่ทราบ IP เครื่องให้พิมพ์ ifconfig ดู (ถ้าใช้คำสั่งนี้ไม่ได้ ให้พิมพ์ sudo apt-get install net-tools)
หน้าจอนี้เราจะต้อง Create User Admin เพื่อจัดการโปรแกรม สองบรรทัดแรกให้ใส่ตามที่ต้องการได้เลย มาดูในส่วนด้านล่างให้ใส่ตามนี้
จำขั้นตอนการ Configure MariaDB and create the database ได้ไหม นี้คือข้อความของส่วนนี้
CREATE DATABASE nextclouddb; < database name
CREATE USER 'nextcloud'< database user @'localhost' < localhost IDENTIFIED BY 'PASSWORD'< database password ;
GRANT ALL PRIVILEGES ON nextclouddb.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
exit
รายละเอียดการใช้งาน โปรแกรม Add-ins ต่างๆไม่ยาก ลองกด download and enable เล่นกันดูครับ