WordPress部署踩坑记
首先安装几个依赖库
先创建好各自需要安装在的目录 , 配置按照下面的选项配置
执行编译和安装 make && make install
apr
./configure --prefix=/usr/local/apache/apr
apr-util
./configure --prefix=/usr/local/apache/apr-util/ --with-apr=/usr/local/apache/apr/bin/apr-1-config
pcre
( 注意不要安装pcre2 )
./configure --prefix=/usr/local/apache/pcre --with-apr=/usr/local/apache/apr/bin/apr-1-config
zlib
./configure --prefix=/usr/local/apache/zlib
安装apache服务器
./configure --prefix=/usr/local/apache/httpd --with-pcre=/usr/local/apache/pcre --with-apr=/usr/local/apache/apr --with-apr-util=/usr/local/apache/apr-util --enable-module=so
安装PHP
./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache/httpd/bin/apxs --with-config-file-path=/usr/local/php7 --enable-track-vars --with-xml --with-MySQL
修改php的配置文件
上面在安装配置当中指定了 config-file-path 就在php的安装目录下
我们在源码包拷贝一份配置文件的样例(php.ini-production)到安装目录下 , 重命名为php.ini
在 Dynamic Extensions
部分添加
extension=mysqli.so
extension=zlib.so
这两个是php的扩展模块 , 但是目前还没有安装
进入到源码包当中的ext目录下 , 分别找到这两个扩展模块
进入mysqli目录下
- 执行 /usr/local/php7/bin/phpize
- 执行 ./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/php7/bin/php-config --with-mysqli=$MYSQL_HOME/bin/mysql_config
( 注意这里需要指定mysql所在的安装目录 ) - make && make install
( 编译过程可能出现一个include头文件引入无法找到的错误 , 编辑该文件 , 改成绝对路径即可 )
进入zlib目录下
- 执行 /usr/local/php7/bin/phpize
- 执行 ./configure --with-php-config=/usr/local/php7/bin/php-config
- make && make install
修改apache的配置文件
在
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
之后添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
当中添加index.php
修改之后为
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
修改ServerNam
e为 主机名:端口
如有必要的话 , 可以修改服务器启动的监听端口 ( Listen )
以及项目的发布目录 , 默认是在apache服务器下的 htdocs 当中
配置完毕之后启动apache服务器 $APACHE_HOME/bin/apachel start
发布wordpress
在官网下载wordpress的部署包之后 , 直接解压到apache服务器的发布目录当中
提前创建好数据库 ( 应用可以自动建表 )
拷贝wp-config-simple.php , 重命名为wp-config.php
在其中修改自己的数据库相关配置项
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', 'root');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'admin');
/** MySQL主机 */
define('DB_HOST', 'localhost');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8mb4');
之后访问应用 , 简单初始化即可开始使用