อีกครั้ง - Make Ubuntu 16.04 to be a web server (LAMP)
ผ่านไปอีก 3 ปี (August,23 2016 14.12 PM) กับอีก 2 ปี (August,09 2013 23.27 PM) กลับมาเขียนใหม่อีกครั้ง หลังจากผ่าน 2 ปี ที่ได้ลง Ubuntu 13.04 ใหม่ในเครืองตนเอง ถือเป็นการล้างเครื่องและแก้ปัญหาที่เกิดจากการอัพเดทแล้วเกิด dependency ของ mysql-server กับ mysql-server-5.5 แล้วก็ลืมไปแล้วว่าหลังจากลงได้มีการปรับค่าอย่างไรบ้าง
Step 1 : Install [L.A.M.P Stack (Apache, Mysql, PHP
Install L.A.M.P Stack (Apache, Mysql, PHP) ทีเดียวซะเลย
root@god:/# apt-get install lamp-server^
ติดตั้งเพิ่มเติม php7-curl
root@god# apt-get install php-curl
แล้วก็ลง phpMyAdmin
root@god:/# apt-get install phpmyadmin
เลือก Apache แล้ว YES สำหรับ dbconfig-common.
Setup phpMyAdmin
root@god:/# nano /etc/phpmyadmin/config.inc.php
เปลี่ยนค่า
$cfg[‘LoginCookieValidity’] = 3600;
Enable mod_rewrite
root@god:/# a2enmod rewrite
เปลี่ยน DocumentRoot ของ apache เป็น folder อื่น และเปิดใช้งาน clean url
root@god:/# nano /etc/apache2/sites-available/000-default.conf
- เปลี่ยนบรรทัด /var/www/ เป็น /my web folder/ จำนวน 2 ตำแหน่ง
root@god:/# nano /etc/apache2/apache2.conf
- แก้ค่า AllowOverride ของ /my web folder/ จาก None เป็น AllowOverride All
Config PHP
nano /etc/php/7.0/apache2/php.ini
post_max_size=1024M upload_max_filesize = 1024M display_errors = On
Step 2 : Move mysql data folder to new location and config MySql
ย้ายข้อมูล mysql ไปไว้ที่ /folder/mysql
หมายเหตุ config file ของ mysql อยู่ที่ /etc/mysql/mysql.conf.d/mysqld.cnf
root@god:/# service mysql stop root@god:/# rsync -av /var/lib/mysql /folder root@god:/# mv /var/lib/mysql /var/lib/mysql.bak root@god:/# ln -s /folder/mysql /var/lib/mysql root@god:/# chown -h mysql:mysql /var/lib/mysql root@god:/# cp -r (/your/old/mysql/folder) /folder/mysql/ root@god:/# chown -R mysql:mysql /folder/mysql/*
Step 3 : Configuring AppArmor Access Control Rules
nano /etc/apparmor.d/tunables/alias
เปลี่ยนค่า
. . . alias /var/lib/mysql/ -> /folder/mysql/, . . .
หรือ
echo "alias /var/lib/mysql/ -> /folder/mysql/," >> /etc/apparmor.d/tunables/alias
Reload the apparmor profiles
root@god:/# /etc/init.d/apparmor reload root@god:/# /etc/init.d/apparmor restart
Restart mysql
root@god:/# systemctl start mysql
Step 4 : เปลี่ยน default engine เป็น MYISAM โดยเพิ่มข้อความด้านล่างไว้ใต้ [mysqld]
nano /etc/mysql/mysql.conf.d/mysqld.cnf
sql_mode = '' default-storage-engine=MYISAM collation-server = utf8_unicode_ci character-set-server = utf8
แล้วคราวนี้ก็ทำการ copy ฐานข้อมูลเก่า ๆ มาได้เลย อย่าลืมเปลี่ยน owner/group เป็น mysql ด้วยนะ
Step 5 : ติดตั้ง ProFtpd
ตามอ่านได้ที่ Setup FTP Server under Ubuntu/Debian
ปล. ลองศึกษาการ config เพิ่มเติมได้จาก opensource.cc.psu.ac.th
Last edited : Aug 23,2016 14:12 PM
อ้างอิงจาก
- How To Move a MySQL Data Directory to a New Location on Ubuntu 16.04
- Moving MySQL datadir
- [Increasing the phpMyAdmin session timeout](http://www.joho.se/2011/11/07/increasing-the-phpmyadmin-session-timeout/]
Relate topics
- Ubuntu: จำกัดการเข้าถึง folder ของบาง user
- ddosify : Load Test - ไม่ผ่าน
- macOS 12 Monterey: Web Server Setup/Apache/MariaDB/PHP Multiple Versions
- Ubuntu Server Installation
- อีกที : macOS 11.0 Big Sur Apache/MiriaDB/PHP Setup
- Ubuntu Web Server Setup
- Apache Config on Ubuntu Server :: Manual add new site
- Check and Repair Hardisk
- Install AFP Share Server Protocal on Linux
- วิธีการติดตั้ง Let’s Encrypt automated free SSL certificate
- Linux Server Tools
- [Geek] Linux basic comamnds
- Make Macbook Pro to be Web Server
- พบบั๊ก GHOST ใน glibc ความร้ายแรงระดับสูง กระทบลินุกซ์รุ่นเก่าจำนวนมาก
- Server Setup : การกำหนดสิทธิ์ Root ให้กับ user บน Ubuntu 14.04
- Setup FTP Server under Ubuntu/Debian
- ย้ายบ้านให้ MySql
- ใครกิน I/O ของข้า
- Debian : ปิดการตรวจสอบฮาร์ดดิสอัตโนมัติขณะเปิดเครื่อง
- Dabian bandwidth monitoring