ข้ามไปยังเนื้อหาหลัก

VPS: การติดตั้ง Nextcloud

คู่มือนี้ถูกสร้างขึ้นด้วยผลิตภัณฑ์ดังต่อไปนี้:

(รายละเอียดอาจแตกต่างกันไปตามผลิตภัณฑ์จากผู้ให้บริการต่างๆ แต่แนวคิดหลักยังคงเหมือนเดิม)

แนะนำ

Nextcloud คือโซลูชันคลาวด์แบบโอเพนซอร์สและเป็นฟอร์กของ Owncloud ก่อตั้งขึ้นในปี 2016 โดย Frank Kalitschek ผู้ก่อตั้ง Owncloud คนก่อนหน้า

เพื่อให้ได้ประสิทธิภาพ ความเสถียร และฟังก์ชันการทำงานที่ดีที่สุด ขอแนะนำการตั้งค่าดังต่อไปนี้สำหรับการโฮสต์เซิร์ฟเวอร์ Nextcloud เซิร์ฟเวอร์ Nextcloud ไม่รองรับ Windows และ MacOS อย่างน้อยก็ไม่ใช่โดยไม่ใช้การจำลองเสมือนหรือวิธีแก้ไขอื่นๆ

การเตรียมตัว

ข้อกำหนดต่อไปนี้ได้รับการแนะนำโดยนักพัฒนาและอิงจากประสบการณ์ของเราเอง หากไม่ตรงตามข้อกำหนดเหล่านี้ คุณอาจเจอปัญหาได้

ฮาร์ดแวร์

อุปกรณ์ขั้นต่ำแนะนำ
CPU2x 1 GHz4x 2+ GHz
RAM512 MB4+ GB
พื้นที่จัดเก็บ10 GB50+ GB
แบนด์วิดท์100 mbit/s (อัปโหลด & ดาวน์โหลด)500mbit/s (อัปโหลด & ดาวน์โหลด) แนะนำถ้าผู้ใช้หลายคนจะใช้คลาวด์

ซอฟต์แวร์

แพลตฟอร์มตัวเลือก
ระบบปฏิบัติการUbuntu (14.04, 16.04, 18.04), Debian(8,9,10), CentOS 6.5/7
ฐานข้อมูลMySQL หรือ MariaDB 5.5+ (แนะนำ), SQLite (แนะนำเฉพาะสำหรับทดสอบและใช้งานน้อย)
เว็บเซิร์ฟเวอร์Apache 2.4 พร้อม mod_php หรือ php-fpm (แนะนำ)
PHP5.6, 7.0 (แนะนำ), 7.1 (แนะนำ), 7.2

ต้องเชื่อมต่อผ่าน SSH client เพื่อทำการติดตั้งคลาวด์บนเซิร์ฟเวอร์ Linux หากไม่แน่ใจวิธีใช้ SSH ดูได้ที่คู่มือนี้: การเข้าถึงเบื้องต้น (SSH)

เมื่อเชื่อมต่อแล้ว คุณสามารถเริ่มติดตั้งแพ็กเกจที่จำเป็นสำหรับการติดตั้ง Nextcloud ได้ ซึ่งรวมถึงการติดตั้งเว็บเซิร์ฟเวอร์และ PHP


Apache (เว็บเซิร์ฟเวอร์)

🗄️ Debian 8/9/10:

sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2

PHP (Hypertext Preprocessor)

🗄️ Debian 8:

# ขั้นตอนที่ 1: เพิ่ม PHP 7.3 PPA repository
sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list

# ขั้นตอนที่ 2: ติดตั้ง PHP 7.3
sudo apt -y install php7.3

# ขั้นตอนที่ 3: ติดตั้งส่วนขยาย PHP 7.3
sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json

🗄️ Debian 9:

# ขั้นตอนที่ 1: เพิ่ม PHP 7.3 PPA repository
sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list

# ขั้นตอนที่ 2: ติดตั้ง PHP 7.3
sudo apt -y install php7.3

# ขั้นตอนที่ 3: ติดตั้งส่วนขยาย PHP 7.3
sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json

🗄️ Debian 10:

# ขั้นตอนที่ 1: ติดตั้ง PHP 7.3
sudo apt -y install php php-common

# ขั้นตอนที่ 2: ติดตั้งส่วนขยาย PHP 7.3
sudo apt -y install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

ตรวจสอบเวอร์ชัน PHP เพื่อความถูกต้อง

php -v

ขั้นตอนถัดไปคือการกำหนดประเภทฐานข้อมูลเพื่อเก็บข้อมูลที่เกี่ยวข้อง มีตัวเลือกหลายแบบ:


ถ้าคุณเลือกใช้ฐานข้อมูลประเภทนี้ ให้ทำตามขั้นตอนดังนี้:

ติดตั้งแพ็กเกจ:

sudo apt-get install mariadb-server php-mysql

ระหว่างการติดตั้งจะมีการถามให้ตั้งรหัสผ่าน root หากไม่มีการถาม รหัสผ่านเริ่มต้นจะเป็นค่าว่าง ซึ่งไม่ปลอดภัยและควรเปลี่ยนทันทีหลังติดตั้ง!

ขั้นตอนถัดไปคือเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลและสร้างฐานข้อมูลที่ต้องการ:

mysql -u root -p
CREATE DATABASE nextcloud;

จากนั้นต้องสร้างผู้ใช้ที่จะเข้าถึงฐานข้อมูล Nextcloud

CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD_HERE';
ข้อมูล

อย่าข้ามขั้นตอนนี้โดยใช้ root user เพราะไม่ปลอดภัยและอาจทำให้ข้อมูลของคุณเสี่ยง!

ขั้นตอนสุดท้ายคือมอบสิทธิ์ให้ผู้ใช้ใหม่:

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;

เมื่อเสร็จแล้ว กด Ctrl-D เพื่อออกจากฐานข้อมูลและดำเนินการขั้นตอนต่อไป

การติดตั้ง

ตอนนี้สามารถเริ่มการติดตั้ง Nextcloud จริงได้แล้ว ดาวน์โหลดและแตกไฟล์ซอฟต์แวร์:

cd /var/www/
wget https://download.nextcloud.com/server/releases/latest.zip
apt-get install unzip
unzip latest.zip
chown -R www-data:www-data nextcloud
rm latest.zip

เมื่อเสร็จขั้นตอนนี้ ให้รันสคริปต์ติดตั้ง เข้าถึงได้ผ่านเบราว์เซอร์ที่ URL ดังนี้:

หน้าการตั้งค่าสคริปต์ติดตั้งจะปรากฏขึ้น ซึ่งจะสร้างผู้ใช้ root และกำหนดข้อมูลฐานข้อมูล:

ความปลอดภัยและความมั่นคง

คำเตือนการตั้งค่า

โฟลเดอร์ข้อมูล

แนะนำอย่างยิ่งให้วางโฟลเดอร์ข้อมูลนอกไดเรกทอรีเว็บรูท (เช่น นอก /var/www) วิธีที่ง่ายที่สุดคือทำตอนติดตั้งใหม่ โดยกำหนดไดเรกทอรีในขั้นตอนตั้งค่า แต่ต้องสร้างไดเรกทอรีและตั้งสิทธิ์ให้เรียบร้อยก่อน โฟลเดอร์ข้อมูลอาจเก็บไว้ในไดเรกทอรีชื่อ Cloud ในโฮมไดเรกทอรีก็ได้

mkdir /home/cloud/
chown -R www-data:www-data /home/cloud/

HTTPS ผ่านใบรับรอง SSL (Let's Encrypt)

โซลูชันคลาวด์ที่ดีควรเข้าถึงได้เฉพาะผ่านการเชื่อมต่อ SSL เท่านั้น หากไม่มีการเข้ารหัส SSL ข้อมูลและข้อมูลต่างๆ จะถูกส่งในรูปแบบข้อความธรรมดา ซึ่งสามารถถูกดักจับและอ่านได้ง่าย

<IfModule mod_ssl.c>
<VirtualHost *:443>
DocumentRoot "/var/www/nextcloud"
ServerName domain.tld

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All

<IfModule mod_dav.c>
Dav off
</IfModule>

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
Satisfy Any

</Directory>

SSLCertificateFile /etc/letsencrypt/live/domain.tld/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.tld/privkey.pem
</VirtualHost>
</IfModule>

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; preload"
</IfModule>

นอกจากนี้ ควรเปลี่ยนเส้นทางทราฟฟิก HTTP ทั้งหมดไปยัง HTTPS ด้วยการรีไดเรกต์ถาวรโดยใช้รหัสสถานะ 301 ซึ่งทำได้โดยใช้ Apache ด้วยการตั้งค่า VirtualHosts ดังนี้:

<VirtualHost *:80>
ServerName domain.tld
Redirect permanent / https://domain.tld/
</VirtualHost>

การจัดการ Nextcloud

สามารถเข้าถึง Nextcloud ผ่านเบราว์เซอร์ รวมถึงผ่านสมาร์ทโฟนและคอมพิวเตอร์ด้วยแอป ดาวน์โหลดได้ที่นี่: https://nextcloud.com/install/#install-clients

ในเมนูตั้งค่า คุณสามารถปรับแต่งตัวเลือกเพิ่มเติมหลังติดตั้ง และดูข้อมูลสำคัญ เช่น บันทึกกิจกรรม รวมถึงตั้งค่าความปลอดภัยเพิ่มเติม (ยืนยันตัวตนสองขั้นตอน, การเข้ารหัส ฯลฯ), การตั้งค่าดีไซน์ (โลโก้, สี, สโลแกน, เฮดเดอร์), การตั้งค่าการเข้าถึง และอื่นๆ อีกมากมาย

แอป

นอกจากนี้ยังสามารถติดตั้งแอปเพิ่มเติมนอกเหนือจากแอปเริ่มต้นได้ โดยเข้าได้จากเมนู Apps

ด้วยแอปเหล่านี้ คุณสามารถปรับแต่ง Nextcloud ให้ตรงกับความต้องการของคุณได้มากขึ้น

สรุป

ยินดีด้วย คุณติดตั้ง Nextcloud สำเร็จแล้ว! หากมีคำถามหรือปัญหาเพิ่มเติม ติดต่อทีมซัพพอร์ตของเราได้เลย พร้อมช่วยเหลือทุกวัน!