本文通過學習 how-to-install-wordpress-with-lemp-on-ubuntu-20-04而來,是以也可以參看原文。
在本教程中,将集中精力在Ubuntu 20.04伺服器的LEMP堆棧(Linux,Nginx,MySQL和PHP)上設定WordPress執行個體。
這個安裝的前提條件是在ubuntu 20 上已經安裝好了lemP。如果還沒有,可以參考:
在Ubuntu20 上安裝 LEMP WEB服務
為wordpress 建立資料庫和使用者
sudo mysql 或 sudo -u root -p 進入mysql
建立資料庫 wordpress:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
建立使用者并給與權限:
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;
exit;
退出回到shell下。
驗證我們建立的資料庫,使用者名,密碼是否有效。
用你建立的使用者名登入,提示輸入密碼。進入mysql後,
use wordpress 然後show tables; 還沒表,确認基本正常。
mysql -u leon -p
Enter password:
mysql> use wordpress
Database changed
mysql> show tables;
Empty set (0.00 sec)
安裝PHP 擴充
在lemp 主機中,已經安裝好了PHP,但為了wordpress ,我們還需要安裝一些擴充。
先update :
sudo apt update
然後安裝:
sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip
更新重新啟動php 服務:
sudo systemctl restart php7.4-fpm
配置 Nginx
對于虛拟主機,每個域名應該有一個配置檔案,便于管理,如果主機隻有一個域名,那可以直接配置或者修改default 檔案即可。
配置的模式基本是:配置檔案在/etc/nginx/sites-available 中,開始的時候隻有一個default,你要配置一個域名虛拟主機,你可以複制這個檔案為,比如example,然後在上修改。修改好之後,你可以:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
這樣就生效了,或者使能了。這裡隻是在 /etc/nginx/sites-enabled/ 建立一個symbol link ,符号連接配接,不要或者取消時,可以 rm symlink_name 或者 unlink symlink_name
我這隻是一個域名,是以直接修改 default 。
sudo nano /etc/nginx/sites-available/default
進行編輯:
在server { } 裡添加以下内容。
server {
. . .
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
. . .
}
在index 部分,注意添加 index.php
index index.php index.html index.htm index.nginx-debian.html;
修改404 部分, 就是登出404 那行,下面加
try_files $uri $uri/ /index.php$is_args$args;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php$is_args$args;
}
確定下面的php内容,這應該在安裝LEMP 裡做好了的修改。
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
儲存并退出.
檢查配置是否有錯誤:
sudo nginx -t
重新導入nginx 配置,使我們的配置修改生效:
sudo systemctl reload nginx
下載下傳 WordPress
切換到一個可寫目錄,比如
cd / tmp
然後通過鍵入以下指令下載下傳最新的壓縮版本:
curl -LO https://wordpress.org/latest.tar.gz
解壓形成一個wordpress目錄
tar xzvf latest.tar.gz
在複制之前,
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
然後複制到我們的目标目錄
sudo cp -a /tmp/wordpress/. /var/www/html
檔案内容已到位,下面更改檔案的所有權,即 owner
sudo chown -R www-data:www-data /var/www/html
設定 wordpress 的配置檔案
打開配置檔案後,首先要調整一些密鑰,為我們的安裝提供一定的安全性。 WordPress為這些值的生成提供了密鑰生成器。 這樣我們擁有複雜,安全的密碼而不影響可用性。
輸入下面的指令:
curl -s https://api.wordpress.org/secret-key/1.1/salt/
這樣會産生密鑰,我這密鑰中間有 Do not copy these values,就是不要複制下面的密鑰,而要用你産生的,否則就不密了。
define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<[email protected]');
define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');
下面開始編輯檔案
sudo nano /var/www/wordpress/wp-config.php
找到如下位置:
. . .
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
. . .
複制你上面指令産生的密鑰内容,替換這段内容。
. . .
define('AUTH_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
. . .
這樣加密的工作做好了。
下面修改資料庫連接配接,就是找到下面這個部分,修改資料庫名,使用者名,使用者密碼。
還有一項更改是設定WordPress用于寫入檔案系統的方法。 由于已授予了Web伺服器寫入所需位置的權限,是以可以将檔案系統方法顯式設定為“直接”。 如果不使用目前設定對此進行設定,則當我們執行某些操作時,WordPress會提示輸入FTP憑據。 将此設定項添加到資料庫連接配接設定下或者檔案中的其他任何位置:
. . .
define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'password' );
. . .
define( 'FS_METHOD', 'direct' );
儲存并退出檔案的修改。系統就做好了。
通過web 界面完成wordpress 的安裝
在浏覽器上輸入主機的ip 位址,或者域名(如果域名綁定了的話),就開始wordpress 的Web 安裝了。
第一個頁面是選擇語言
第二個輸入标題,使用者名,email,密碼,然後點選 安裝(install wordpress)
安裝後再登入界面,然後進入wordpress 的管理界面了。
整個安裝就到此,謝謝閱讀。