บทนำ
ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการติดตั้ง WordPress บนอินสแตนซ์ที่สร้างขึ้นใหม่ ฉันจะสาธิตการติดตั้งบนเซิร์ฟเวอร์ Ubuntu 14.04 คำแนะนำเหล่านี้อาจใช้ได้กับ Ubuntu และ Debian เวอร์ชันเก่า
ดังนั้นเรามาเริ่มกันเลย
ขั้นตอนที่หนึ่ง: อัพเดทแพ็คเกจที่มีอยู่
apt-get update && apt-get upgrade
ขั้นตอนที่สอง: ติดตั้ง Nginx
Nginx เป็นเว็บเซิร์ฟเวอร์ที่มีน้ำหนักเบาประสิทธิภาพสูงออกแบบโดยมีวัตถุประสงค์เพื่อส่งมอบเนื้อหาสแตติกจำนวนมากพร้อมกับการใช้ทรัพยากรระบบอย่างมีประสิทธิภาพ ตรงกันข้ามกับ Apache Nginx ใช้โมเดลเหตุการณ์ที่ขับเคลื่อนด้วยอะซิงโครนัสซึ่งให้ประสิทธิภาพที่คาดการณ์ได้มากขึ้นภายใต้โหลด
มาเพิ่มที่เก็บของบุคคลที่สามเพื่อติดตั้ง Nginx รุ่นล่าสุด (1.6.1)
sudo apt-get install python-software-properties
add-apt-repository -y ppa:rtcamp/nginx
sudo apt-get update
sudo apt-get install nginx
service nginx start
ตอนนี้เรามาทดสอบว่าเซิร์ฟเวอร์ใช้งานได้หรือไม่
http://YOUR-VPS-IP
ควรนำคุณไปสู่หน้าเริ่มต้นของ Nginx
ขั้นตอนที่สาม: ติดตั้ง PHP 5.5
PHP เป็นภาษาสคริปต์โอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายซึ่งเหมาะอย่างยิ่งสำหรับการพัฒนาเว็บและสามารถฝังลงใน HTML ได้
มาติดตั้ง PHP เวอร์ชันล่าสุดบนเซิร์ฟเวอร์ของเรา
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt
หากคุณต้องการตรวจสอบเวอร์ชั่น PHP ของคุณให้รันคำสั่งต่อไปนี้:
php -v
คุณจะเห็นอะไรเช่นนี้
PHP 5.5.16-1+deb.sury.org~trusty+1 (cli) (built: Aug 25 2014 10:24:59)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
withZendOPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
ตอนนี้เราจะทำการเปลี่ยนแปลงการกำหนดค่าเล็กน้อยเพื่อให้การตั้งค่าของเราปลอดภัยยิ่งขึ้น เปิดไฟล์การกำหนดค่า php5-fpm หลักด้วยสิทธิ์ของรูท:
sudo nano /etc/php5/fpm/php.ini
กดCtrl + Wcgi.fix_pathinfo=
และการค้นหาสำหรับ ยกเลิกการใส่เครื่องหมายข้อคิดเห็น (ลบ;) และเปลี่ยน 1 ถึง 0 หลังจากการเปลี่ยนแปลงบรรทัดควรมีลักษณะดังนี้:
cgi.fix_pathinfo=0
บันทึก ( Ctrl + O ) และปิดไฟล์ ( Ctrl + X )
ตอนนี้เราเพียงแค่ต้องรีสตาร์ทโปรเซสเซอร์ PHP ของเราโดยพิมพ์:
sudo service php5-fpm restart
ขั้นตอนที่สี่: ติดตั้ง MySQL
ในการจัดเก็บและจัดการฐานข้อมูลเราจำเป็นต้องติดตั้ง MySQL คุณสามารถติดตั้งได้อย่างง่ายดายโดยพิมพ์สิ่งต่อไปนี้ในคอนโซล:
sudo apt-get install mysql-server
ระหว่างกระบวนการติดตั้งระบบจะขอให้คุณตั้งรหัสผ่านรูทสำหรับ MySQL เมื่อคุณตั้งค่ารหัสผ่านรูทแล้วเราจะต้องบอก MySQL เพื่อสร้างโครงสร้างไดเรกทอรีที่จะเก็บฐานข้อมูล
sudo mysql_install_db
มาจบกันด้วยการรันสคริปต์ความปลอดภัยที่จะแก้ไขความไม่ปลอดภัยเริ่มต้นบางอย่าง
sudo mysql_secure_installation
เพียงพิมพ์รหัสผ่านรูทของ MySQL และพิมพ์n
หากคุณไม่ต้องการเปลี่ยน หลังจากนั้นให้พิมพ์y
คำถามทุกข้อ
ตั้งค่าเขตเวลา (ตามเงื่อนไข)
ตามค่าเริ่มต้นเขตเวลาของเซิร์ฟเวอร์ของคุณคือ UTC หากคุณอาศัยอยู่ในเขตเวลาอื่นคุณสามารถเปลี่ยนได้โดยพิมพ์คำสั่งต่อไปนี้:
sudo dpkg-reconfigure tzdata
ณ จุดนี้เซิร์ฟเวอร์ LEMP ของคุณเปิดใช้งานแล้ว
ขั้นตอนที่ห้า: การกำหนดค่า Nginx เพื่อให้บริการ Wordpress
มาเริ่มการติดตั้ง Wordpress ของเราโดยสร้างบล็อกเซิร์ฟเวอร์ Nginx สำหรับเว็บไซต์ของเรา
sudo nano /etc/nginx/sites-available/wordpress
วางรหัสต่อไปนี้:
server {
listen 80;
root /var/www/wordpress;
index index.php index.html index.htm;
server_name domain.com;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location / {
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location = /favicon.ico {
access_log off;
log_not_found off;
expires max;
}
location = /robots.txt {
access_log off;
log_not_found off;
}
# Cache Static Files For As Long As Possible
location ~*
\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$
{
access_log off;
log_not_found off;
expires max;
}
# Security Settings For Better Privacy Deny Hidden Files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# Return 403 Forbidden For readme.(txt|html) or license.(txt|html)
if ($request_uri ~* "^.+(readme|license)\.(txt|html)$") {
return 403;
}
# Disallow PHP In Upload Folder
location /wp-content/uploads/ {
location ~ \.php$ {
deny all;
}
}
}
นี่เป็นไฟล์กำหนดค่า Wordpress ที่ได้รับการปรับแต่งมาอย่างดีพร้อมการสนับสนุน Permalinks บันทึก ( Ctrl + O ) และปิดไฟล์ ( Ctrl + X ) มาเปิดใช้งานบล็อกเซิร์ฟเวอร์โดยเชื่อมโยง:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress
ต่อไปเราจะลบบล็อกเซิร์ฟเวอร์เริ่มต้นของ Nginx
sudo rm /etc/nginx/sites-enabled/default
ตอนนี้เราจะปรับไฟล์การกำหนดค่าหลัก Nginx:
sudo nano /etc/nginx/nginx.conf
ตรวจสอบให้แน่ใจว่าจำนวนกระบวนการของผู้ปฏิบัติงานเท่ากับจำนวนแกนในตัวอย่างของคุณ
user www-data;
worker_processes 1;
pid /run/nginx.pid;
เพิ่มepoll ใช้ เพื่อบล็อกเหตุการณ์
events {
worker_connections 4096;
multi_accept on;
use epoll;
}
เพิ่มclient_max_body_sizeและserver_tokens off directive ตั้งkeepalive_timeoutเป็น 30 วินาที
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
types_hash_max_size 2048;
server_tokens off;
client_max_body_size 100m;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ตรวจสอบให้แน่ใจว่าบล็อกการตั้งค่า Gzip ทั้งหมดมีลักษณะดังนี้:
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
บันทึก ( Ctrl + O ) และปิดไฟล์ ( Ctrl + X ) จากนั้นรีสตาร์ทเซิร์ฟเวอร์:
sudo service nginx restart
หากคุณต้องการอัปโหลดไฟล์มากกว่า 2MB ไปยังเว็บไซต์ WordPress ของคุณคุณต้องมีการเพิ่มตัวแปร PHP อัพโหลดขนาดในphp.ini
sudo nano /etc/php5/fpm/php.ini
ตอนนี้ให้กดCtrl + Wและค้นหา " upload_max_filesize " และตั้งค่าให้100m
upload_max_filesize=100M
ทำเช่นเดียวกันกับpost_max_size post_max_sizeจะต้องมีขนาดเท่ากันหรือมีขนาดใหญ่กว่าupload_max_filesize
post_max_size=100M
รีสตาร์ท PHP
sudo service php5-fpm restart
ขั้นตอนที่เจ็ด: การตั้งค่าฐานข้อมูล MySQL
ในขั้นตอนนี้เราจะสร้างผู้ใช้ฐานข้อมูลและตาราง ไปข้างหน้าและเข้าสู่ระบบ MySQL shell:
mysql -u root -p
เข้าสู่ระบบโดยใช้รหัสผ่าน root ของ MySQL เราจะต้องสร้างฐานข้อมูล WordPress พร้อมกับผู้ใช้ในฐานข้อมูล ก่อนอื่นมาสร้างฐานข้อมูล (อย่าตั้งชื่ออะไรก็ได้ที่คุณต้องการ):
CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)
หลังจากนั้นเราต้องสร้างผู้ใช้ใหม่ โปรดแทนที่ฐานข้อมูลชื่อและรหัสผ่านด้วยสิ่งที่คุณต้องการ:
CREATE USER wordpressuser@localhost;
Query OK, 0 rows affected (0.00 sec)
ตั้งรหัสผ่านสำหรับผู้ใช้ใหม่ของคุณ:
SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)
ปิดท้ายด้วยการให้สิทธิ์ทั้งหมดแก่ผู้ใช้ใหม่ หากไม่มีคำสั่งนี้ตัวติดตั้ง WordPress จะไม่สามารถเริ่มต้นได้:
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
จากนั้นรีเฟรช MySQL:
FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
ออกจากเปลือก MySQL:
exit
ขั้นตอนที่แปด: การติดตั้งไฟล์ WordPress
เราเกือบเสร็จแล้ว มาทำการติดตั้ง WordPress กันดีกว่า
ขั้นแรกนำทางไปยังไดเรกทอรีรากของไซต์:
mkdir /var/www/
cd /var/www/
ตอนนี้ดาวน์โหลด WordPress เวอร์ชันล่าสุด:
wget http://wordpress.org/latest.tar.gz
แยกมันออกจากไฟล์เก็บถาวร:
tar -xzvf latest.tar.gz
ให้สิทธิ์/var/www/wordpress
แก่www-data
ผู้ใช้ จะอนุญาตให้อัปเดตปลั๊กอิน WordPress และการแก้ไขไฟล์ด้วย SFTP อัตโนมัติในอนาคต
sudo chown -R www-data:www-data wordpress/
sudo usermod -a -G www-data www-data
คุณทำเสร็จแล้ว! เว็บไซต์ WordPress ใหม่ของคุณพร้อมแล้ว เพียงไปที่เว็บไซต์ของคุณและติดตั้งให้เสร็จ