install Nextcloud in 3 Min.

Kripohb Sudnethong
4 min readAug 13, 2019

--

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)

หน้าจอแรก กด Next ได้เลย
Next
Next
Create

หน้าจอนี้เราจะต้อง 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 เล่นกันดูครับ

--

--

Kripohb Sudnethong

IT Support ต๊อกต๋อยรักการวิ่งมากกว่างานประจำ XD