หลังจากที่เราติดตั้งลีนุกซ์ CentOS 7 ลงเว็บเซิร์ฟเวอร์ Apache ที่มีโมดูล PHP แล้วก็ติดตั้งคอนฟิกเซิร์ฟเวอร์ฐานข้อมูล MariaDB เสร็จเรียบร้อยแล้ว
ลองมาทดสอบการใช้งานกัน ด้วยการลง WordPress โปรแกรม CMS ยอดนิยม
ในที่นี้ผู้เขียนจะใช้ล็อกอินสองอันสลับไปมา ระหว่าง root และ ผู้ใช้งานธรรมดา (user) ในที่นี้ขอยกตัวอย่างชื่อ alice เพื่อเป็นตัวอย่างแนวทางปฏิบัติ คือให้ล็อกอินแค่ให้มีสิทธิ์เพียงพอต่อการทำงานเท่านั้น งานบางอย่างไม่จำเป็นต้องใช้ root ก็ล็อกอินด้วยผู้ใช้ธรรมดารันคำสั่ง
หมายเหตุ จะใช้ sudo เพื่อรันคำสั่งด้วยสิทธิ์ root ก็ได้ผลเหมือนกัน
เริ่มต้น ล็อกอินด้วย root เพื่อสร้างไดเรกทอรีสำหรับเก็บไฟล์ wordpress และเปลี่ยนเจ้าของ (chown) ให้ผู้ใช้งานธรรมดา (alice) เขียนไฟล์ในนี้ได้
[root@cent7 ~]# cd /var/www/html/ [root@cent7 html]# mkdir wordpress [root@cent7 html]# chown alice wordpress/
ล็อกอินด้วยผู้ใช้ธรรมดา ดาวน์โหลดไฟล์ติดตั้ง wordpress เวอร์ชันล่าสุดด้วยคำสั่ง curl ระบุ URL ที่ใช้ดาวน์โหลดตามตัวอย่าง
[alice@cent7 ~]$ cd /var/www/html/wordpress/ [alice@cent7 wordpress]$ curl -O https://wordpress.org/latest.tar.gz
ตัวอย่างไฟล์ที่ดาวน์โหลดได้
[alice@cent7 wordpress]$ ls -l total 6168 -rw-rw-r--. 1 alice alice 6313518 Jul 24 14:44 latest.tar.gz
ใช้คำสั่ง tar แตกไฟล์ที่ดาวน์โหลดมา
[alice@cent7 wordpress]$ tar zxvf latest.tar.gz wordpress/ wordpress/wp-settings.php wordpress/wp-cron.php wordpress/wp-comments-post.php wordpress/wp-activate.php ...
คำสั่ง tar จะสร้างไดเรกทอรีที่ชื่อ wordpress แล้วแตกไฟล์ในนั้น
[alice@cent7 wordpress]$ ls -l total 6172 -rw-rw-r--. 1 alice alice 6313518 Jul 24 14:44 latest.tar.gz drwxr-xr-x. 5 alice alice 4096 Jul 23 18:03 wordpress
ใช้คำสั่ง mv เพื่อย้ายไฟล์ออกมา
[alice@cent7 wordpress]$ mv wordpress/* .
ลบไดเรกทอรีและไฟล์ที่ดาวน์โหลดมา
[alice@cent7 wordpress]$ rmdir wordpress/ [alice@cent7 wordpress]$ rm -f latest.tar.gz
สรุปตอนนี้เรามีไฟล์ของ wordpress อยู่ในไดเรกทอรี /var/www/html/wordpress
[alice@cent7 wordpress]$ pwd /var/www/html/wordpress [alice@cent7 wordpress]$ ls index.php wp-config-sample.php wp-mail.php license.txt wp-content wp-settings.php readme.html wp-cron.php wp-signup.php wp-activate.php wp-includes wp-trackback.php wp-admin wp-links-opml.php xmlrpc.php wp-blog-header.php wp-load.php wp-comments-post.php wp-login.php
หมายเหตุ จากตัวอย่างด้านบน เหตุผลที่แนะนำให้ล็อกอินด้วยผู้ใช้งานธรรมดา (user) ในการดาวน์โหลดไฟล์และการแตกไฟล์ ก็เพื่อป้องกันความเสียหายที่อาจเกิดขึ้น เช่นไฟล์ที่ดาวน์โหลดมาอาจถูกฝังด้วยสคริปต์เพื่อกระทำการบางอย่างกับเครื่องเซิร์ฟเวอร์ ถ้ารันด้วยผู้ใช้ธรรมดา ความเสียหายที่เกิดขึ้นจะน้อยกว่าการรันด้วย root ที่สามารถทำได้ทุกอย่างกับเครื่องเซิร์ฟเวอร์ได้
ล็อกอินด้วย root แก้ไขไฟล์คอนฟิกเว็บเซิร์ฟเวอร์ เพื่อแก้ไขค่าคอนฟิกไดเรกทอรีหลักในการเก็บไฟล์เว็บ (DocumentRoot) ให้ชี้มายังไดเรกทอรีที่เก็บไฟล์ wordpress
[root@cent7 ~]# vi /etc/httpd/conf/httpd.conf
...
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html/wordpress"
...
รีสตาร์ตเซอร์วิสเว็บเซิร์ฟเวอร์ (httpd) เพื่อให้คอนฟิกที่แก้ไขมีผล
[root@cent7 ~]# systemctl restart httpd
ลองใช้ browser ระบุ IP ของเซิร์ฟเวอร์ ถ้าทำตามขั้นตอนถูกต้อง จะเข้าสู่หน้าคอนฟิก WordPress
กดปุ่ม [Let’s go!] เพื่อไปหน้าถัดไป
หน้าจอให้กรอกข้อมูลการเชื่อมต่อฐานข้อมูล เพื่อเก็บข้อมูลของ WordPress
ระบุชื่อฐานข้อมูล (Database Name) ชื่อผู้ใช้ (User Name) รหัสผ่าน (Password) ที่ใช้ในการเชื่อมต่อ
ก่อนที่จะกด [Submit] ต้องรันคำสั่ง mysql เพื่ออนุญาตให้ผู้ใช้ (User Name) ที่ระบุในฟอร์นี้ มีสิทธิ์เขียนอ่านในชื่อฐานข้อมูลได้
ตัวอย่างการใช้คำสั่ง mysql เพื่ออนุญาตสิทธิ์
[alice@cent7 ~]$ mysql -u root -p ... MariaDB [(none)]> CREATE database wordpress; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> GRANT ALL ON wordpress.* TO 'db-username'@'localhost' IDENTIFIED BY 'db-password'; Query OK, 0 rows affected (0.00 sec)
รันคำสั่ง GRANT เสร็จเรียบร้อย ถึงค่อยกลับไปกดปุ่ม [Submit] บนหน้าเว็บ
หน้าจอแสดงการเขียนไฟล์ wp-config.php ซึ่งเป็นไฟล์คอนฟิกหลักของ WordPress เช่นค่าคอนฟิกในการเชื่อมต่อฐานข้อมูล
หน้าจอจะฟ้องว่าไม่สามารถเขียนไฟล์ wp-config.php ได้ เราต้องสร้างไฟล์ขึ้นมาเอง โดย copy ข้อความที่อยู่ในฟอร์มมาทั้งหมด แนะนำให้กด [Ctrl]+[a] เพื่อเลือกข้อความทั้งหมดในฟอร์ม
หลังจาก copy แล้ว ล็อกอินด้วย alice สร้างไฟล์ /var/www/html/wordpress/wp-config.php แล้ว paste ข้อความที่ copy มา ลงไปทั้งหมด
ตัวอย่างไฟล์ wp-config.php
[alice@cent7 ~]$ vi /var/www/html/wordpress/wp-config.php <?php /** * The base configurations of the WordPress. * * This file has the following configurations: MySQL settings, Table Prefix, * Secret Keys, and ABSPATH. You can find more information by visiting * {@link https://codex.wordpress.org/Editing_wp-config.php Editing wp-config.php} * Codex page. You can get the MySQL settings from your web host. * * This file is used by the wp-config.php creation script during the * installation. You don't have to use the web site, you can just copy this file * to "wp-config.php" and fill in the values. * * @package WordPress */ // ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'db-username'); /** MySQL database password */ define('DB_PASSWORD', 'db-password'); /** MySQL hostname */ define('DB_HOST', 'localhost'); /** Database Charset to use in creating database tables. */ define('DB_CHARSET', 'utf8mb4'); /** The Database Collate type. Don't change this if in doubt. */ define('DB_COLLATE', ''); ...
หลังจากสร้างไฟล์ wp-config.php แล้ว กลับมาหน้าเว็บ กดปุ่ม [Run the install] ต่อไป
หน้าจอให้กรอกข้อมูลเบื้องต้น ระบุชื่อ Username, Password ที่จะใช้เป็น admin ของ WordPress
กดปุ่ม [Install WordPress]
กดปุ่ม [Log In] เพื่อไปหน้าล็อกอินของ WordPress
หน้าจอล็อกอินของ WordPress กรอก Username, Password ของ admin แล้วกดปุ่ม [Login In]
ตัวอย่างหน้าจอ admin ของ WordPress
ตัวอย่างหน้าแรกของเว็บไซต์เราที่สร้างด้วย WordPress
ยินดีด้วยครับ คุณได้สร้างลีนุกซ์เซิร์ฟเวอร์ขึ้นมาด้วยตนเองตั้งแต่เริ่มต้น จนกระทั่งมีเว็บไซต์ CMS พร้อมใช้งานจริง