基礎環境#
系統環境:
CentOS Stream 9
軟體環境:
Apache-2.4.57
Mysql-8.0.36(mariaDB)
PHP-8.0.30
部署過程#
配置安全策略#
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all
安裝 Apache#
yum -y install httpd
systemctl start httpd
systemctl enable httpd
# 查看版本
httpd -v
安裝 PHP#
# 安裝php相應模組
yum -y install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-mbstring php-mysqli php-openssl php-pcre php-xml
# 查看版本
php -v
# 測試php
echo "<?php phpinfo(); ?>" > /var/www/html/test.php
#在瀏覽器中訪問http://本機ip/test.php
# 刪除測試用例
rm -f /var/www/html/test.php
安裝 Mysql#
yum -y install mysql-server
# 查看版本
mysql -V
systemctl start mysqld
systemctl enable mysqld
# 查看MySQL的初始密碼
grep "password" /var/log/mysql/mysqld.log
# MySQL的安全性配置
mysql_secure_installation
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?Press y|Y for Yes, any other key for No: y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary filePlease enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Please set the password for root here.New password:
Re-enter new password:
Estimated strength of the password: 50
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.Normally, root should only be allowed to connect from
‘localhost’. This ensures that someone cannot guess at
the root password from the network.Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.By default, MySQL comes with a database named ‘test’ that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database…
Success.- Removing privileges on test database…
Success.Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.All done!
驗證測試#
安裝 WordPress 進行驗證 LAMP 的驗證測試
(1)下載並配置 WordPress
cd /var/www/html/
# 安裝下載解壓工具
yum -y install wget tar
# 下載並解壓WordPress程序
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar zxvf latest-zh_CN.tar.gz
(2)創建數據庫
create user 'wordpress'@'localhost' identified by 'wordpress@123';
grant all privileges on wordpress.* to 'wordpress'@'localhost';
flush privileges;
exit;
(3)重啟服務
systemctl restart httpd
(4)WordPress 初始化配置
在/var/www/html/wordpress
中創建 wp-config.php 文件。
vi /var/www/html/wordpress/wp-config.php
**************************wp-config.php**************************
<?php
/**
* WordPress 基礎配置文件
*
* 這個文件被安裝程序用於自動生成 wp-config.php 配置文件
* 您不必使用網站,可以將這個文件複製到「wp-config.php」並填寫這些值。
*
* 本文件包含以下配置選項:
*
* * 數據庫設置
* * 密鑰
* * 數據庫表名前綴
* * ABSPATH
*
* @link https://wordpress.org/documentation/article/editing-wp-config-php/
*
* @package WordPress
*/
// ** 數據庫設置 - 您可以從您的主機獲取這些信息 ** //
/** WordPress 數據庫名稱 */
define( 'DB_NAME', 'wordpress' );
/** 數據庫用戶名 */
define( 'DB_USER', 'wordpress' );
/** 數據庫密碼 */
define( 'DB_PASSWORD', 'wordpress@123' );
/** 數據庫主機 */
define( 'DB_HOST', 'localhost' );
/** 創建表時使用的數據庫字符集。 */
define( 'DB_CHARSET', 'utf8mb4' );
/** 數據庫排序規則類型。如不確定,請勿更改。 */
define( 'DB_COLLATE', '' );
/**#@+
* 身份驗證唯一密鑰與鹽。
*
* 將這些更改為任意獨一無二的字符串!您可以使用
* {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org 密鑰服務}
* 生成這些。
*
* 您可以隨時更改這些內容以使所有現有 cookies 失效。
* 這將強制所有用戶必須重新登錄。
*
* @since 2.6.0
*/
define( 'AUTH_KEY', 'T]opAWiO&i]=T0%gG|Cr8ZiHC4(AjG3#,Oa%Z,Xus}tB:CMH*m?TAJ!g8rCgn9G{' );
define( 'SECURE_AUTH_KEY', 'u]bD9(4N<|LD=!XlaLf8mI5vQM!!Wy,`=9[2g1g86Cp~EZnUe$q{P3W.[aH$n,bV' );
define( 'LOGGED_IN_KEY', '-}sR0i@QOgDAbYWs:blZjDaJF-NdN|l5Vtiw2kVy(TUd0]:7~_)Lsg(t5kP>FVs~' );
define( 'NONCE_KEY', ':*qn^%vaF;vWh$f/rR*SI8]Er=jpW{bKRWt4/F25b:ULoJGi&:*B{SP9D$Dx]t1=' );
define( 'AUTH_SALT', ':1NyIcq-rH.2Qe@cH{xbKICQ`>!bmz_cKl@SQcLYM]||y9}dII:4j<d~sG~[mGR/' );
define( 'SECURE_AUTH_SALT', 'IRC$m2W;1CZ`PaR315_evXujKAgHr?x1.fLws,8tJ_$g+0EJkY?Y$LF*QXi*7h=l' );
define( 'LOGGED_IN_SALT', 'Zcg^hRDB5DXV<v?NxVNBMoT=s#mFvCw$A%!8{uBdl6EeZ`IhB.~8FNPprKgB>sKZ' );
define( 'NONCE_SALT', 'T#D,{:EEHw`~F~B2%R/TP*Kt-,/-| /](V-MJz7Nr?)XBr~rnEY*Hfs1rwUUMYi-' );
/**#@-*/
/**
* WordPress 數據表前綴。
*
* 如果您為每個安裝分配一個唯一前綴,您可以在一個數據庫中擁有多個安裝。
* 請只使用數字、字母和下劃線!
*/
$table_prefix = 'wp_';
/**
* 開發者專用:WordPress 調試模式。
*
* 將此值更改為 true 以啟用開發過程中的通知顯示。
* 強烈建議插件和主題開發人員在其開發環境中使用 WP_DEBUG。
*
* 有關可用於調試的其他常量的信息,請訪問文檔。
*
* @link https://wordpress.org/documentation/article/debugging-in-wordpress/
*/
define( 'WP_DEBUG', false );
/**
* 簡體中文專屬:ICP 备案号显示
*
* 在设置 → 常规中设置你的 ICP 备案号。
* 可调用简码 [cn_icp] 或函数 cn_icp() 显示。
*
* @since 6.5.0
* @link https://cn.wordpress.org/support/i10n-features/
*/
define( 'CN_ICP', true );
/**
* 簡體中文專屬:公安备案号显示
*
* 在设置 → 常规中设置你的公安备案号。
* 可调用简码 [cn_ga] 或函数 cn_ga() 显示。
*
* @since 6.5.0
* @link https://cn.wordpress.org/support/i10n-features/
*/
define( 'CN_GA', true );
/* 在這行和「停止編輯」行之間添加任何自定義值。 */
/* 就這樣,停止編輯!祝您使用愉快。 */
/** WordPress 目錄的絕對路徑。 */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
/** 設置 WordPress 變量和包含的文件。 */
require_once ABSPATH . 'wp-settings.php';
**************************wp-config.php**************************
在瀏覽器中輸入http://本地ip/wordpress
,進行初始化配置。配置完成並登錄 WordPress 之後,LAMP 驗證測試成功。