บล็อกนี้รันอยู่บน Raspberry Pi Model B ซึ่งรัน Raspbian (Debian สำหรับ ARMv6) ตอนติดตั้งผมจึงคิดที่จะใช้แพกเกจของ Debian ในการติดตั้ง ซึ่งก็ต้องทำอะไรหลายอย่างเหมือนกัน เริ่มจาก
- ติดตั้งไฟล์ของ WordPress และแพกเกจที่จำเป็นอื่นๆ
sudo apt-get install wordpress apache2 mysql-server mysql-client php5-mysql php5-fpm
ในระหว่างนี้จะมีการถามรหัสผ่านของบัญชี root ของ MySQL จำไว้ให้ดี เพราะต้องใช้ในขั้นตอนต่อไป
- ตั้งค่า Apache โดย
- สร้าง vHost ใหม่หรือแก้ vHost เดิมใน Apache โดยให้มีคอนฟิกต่อไปนี้
<VirtualHost *:80> .... DocumentRoot /usr/share/wordpress/ # wp-content in /var/lib/wordpress/wp-content Alias /wp-content /var/lib/wordpress/wp-content <Directory /usr/share/wordpress/> Options +FollowSymLinks <IfVersion < 2.3> Order allow,deny Allow from all </IfVersion> <IfVersion >= 2.3> Require all granted </IfVersion> # Allow .htaccess. AllowOverride All </Directory> <Directory /var/lib/wordpress/wp-content/> Options +FollowSymLinks <IfVersion < 2.3> Order allow,deny Allow from all </IfVersion> <IfVersion >= 2.3> Require all granted </IfVersion> # Allow .htaccess. AllowOverride All </Directory>
- ตั้งค่า PHP โดยสร้างไฟล์ /etc/apache2/conf-available/fastcgi-php.conf ให้มีเนื้อหาดังนี้
<IfModule proxy_fcgi_module> <FilesMatch "^(.*\.php5?)$"> SetHandler "proxy:unix:/var/run/php5-fpm.sock|fcgi://localhost/" </FilesMatch> </IfModule>
- เปิดใช้งานโมดูลและการตั้งค่าที่จำเป็น แล้วจึงเริ่มการทำงานของ Apache ใหม่
sudo a2enmod rewrite proxy_fcgi sudo a2enconf fastcgi-php sudo service apache2 restart
- สร้าง vHost ใหม่หรือแก้ vHost เดิมใน Apache โดยให้มีคอนฟิกต่อไปนี้
- สร้างไฟล์คอนฟิกของ WordPress ไว้ที่ /etc/wordpress/config-$DM.php โดยที่ $DM เป็นโดเมนของเว็บ เช่น หากเว็บไซต์อยู่ที่ blog.example.com ชื่อไฟล์อาจจะเป็น
- config-blog.example.com.php (แนะนำให้ใช้อันนี้) หรือ
- config-example.com.php (ถ้ามีหลายเว็บในโดเมนนี้) หรือ
- config-default.php (ไฟล์นี้จะถูกใช้ถ้าไม่มีไฟล์อื่นที่เจาะจงกว่านี้)
- โดยให้มีเนื้อหาดังนี้ (แทนที่ <RandomPassword_A> ด้วยรหัสผ่านสุ่ม)
<?php define('DB_NAME', 'wordpress'); define('DB_USER', 'wordpress'); define('DB_PASSWORD', '<RandomPassword_A>'); define('DB_HOST', 'localhost'); define('WP_CONTENT_DIR', '/var/lib/wordpress/wp-content'); define('FS_METHOD', 'direct'); ?>
- ตั้งค่าฐานข้อมูล โดย
- สร้างไฟล์ขึ้นมาไฟล์หนึ่ง (สมมติว่าชื่อ wp.sql) ให้มีเนื้อหาดังนี้ (แทนที่ <RandomPassword_A> ด้วยรหัสผ่านเดียวกันกับข้างบน)
CREATE DATABASE wordpress; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON wordpress.* TO wordpress@localhost IDENTIFIED BY '<RandomPassword_A>'; FLUSH PRIVILEGES;
- รันคำสั่งนี้ (ใส่รหัสผ่าน root ของ MySQL เมื่อถูกถาม)
mysql -uroot -p <wp.sql
- สร้างไฟล์ขึ้นมาไฟล์หนึ่ง (สมมติว่าชื่อ wp.sql) ให้มีเนื้อหาดังนี้ (แทนที่ <RandomPassword_A> ด้วยรหัสผ่านเดียวกันกับข้างบน)
- ตั้งสิทธิ์และเจ้าของไฟล์ที่จำเป็นโดยรันคำสั่งตามนี้
sudo chown -R www-data:www-data /var/lib/wordpress/wp-content/ /usr/share/wordpress/.htaccess
- เราพร้อมแล้วที่จะเริ่ม “การติดตั้งภายใน 5 นาทีที่มีชื่อเสียง” (แต่กว่าจะเริ่มได้นี่เอาเหนื่อย) ไปที่ http://blog.example.com/wp-admin/install.php (แน่นอนว่าแทนที่ชื่อเว็บด้วยเว็บของคุณ) แล้วทำตามที่หน้าเว็บบอก
แล้ว WordPress ก็ถูกติดตั้งเรียบร้อย ตอนต่อไปจะมาพูดถึงการเพิ่มความเร็วของเว็บกัน (เพราะว่า Raspberry Pi ช้าครับ เลยต้องเร่งความเร็วกันซะหน่อย) และจะมาพูดเกี่ยวกับ Plugin กับความคาดหวังบางอย่างที่มั่วสุดๆ