现在有很多的个人博客框架,比如静态页面的Jekyll/hexo,PHP语言框架的emlog/zblog,以及本文讲到的WordPress。虽然WordPress已经是一个10年前诞生的产物,但随着不断的版本更新,今天WordPress依然在稳定性/扩展性和易用性上稳拔头筹。
如何搭建WordPress的运行环境对于很多人来讲却是一个无法绕开的问题,下面我就来讲一下如何一键搭建WordPress博客环境。
打开命令行输入下述命令:
wget https://github.com/nfer/wordpress_install_kickstart/raw/master/wordpress_install_kickstart.sh
chmod +x wordpress_install_kickstart.sh
./wordpress_install_kickstart.sh
注:本文讨论的方法是在Ubuntu环境下,在阿里云和本地虚拟机上均测试通过。
详细展开,让我们看一下这个wordpress_install_kickstart.sh脚本具体做了哪些事情。
# first we MUST update the apt source
apt-get update
第一步,我们需要先把应用源更新一下,毕竟安装后续的apache/mysql之类的都需要获取最新的版本。
WordPress是一个服务器端的程序,必须要有一个HTTP Server来进行承载,这里我们选用apache作为HTTP Server。
# install apache2
apt-get install -y apache2
# test apache2 run
# test1: is in background thread
IS_APACHE2_IN_BG=`ps xuax | grep -v grep | grep apache2`
if [ -z "$IS_APACHE2_IN_BG" ]; then
echo "ERROR!!! not found apache2 in background threads";
exit;
fi
echo "found apache2 in background threads";
#test2: check wget result
wget http://localhost/ --spider -q
if [ $? -ne 0 ]; then
echo "ERROR!!! http://localhost/ not works";
exit;
fi
echo "http://localhost/ works well";
这一步呢,我们安装了Apache,并使用localhost来测试apache是否正常运行。
在安装了Apache之后,同样我们需要安装php,毕竟WordPress框架是一个php语言框架。
# install php5 and apache php5 mode
apt-get install -y libapache2-mod-php5 php5
# test apach2-php5 run
echo '' > /var/www/html/phptest.php
wget http://localhost/phptest.php -q -O phptest_result.txt
PHPTEST_RESULT=`cat phptest_result.txt`
rm phptest_result.txt
rm /var/www/html/phptest.php
if [ ! "$PHPTEST_RESULT" = "hello world" ]; then
echo "ERROR!!! php test faild";
exit;
fi
echo "php test pass";
注意,这里我们不仅安装了php5,同时也安装了apache下的php5组件,这样才可以使用php5的web模式。
# install php5-curl
apt-get install -y php5-curl
这一步不是必须,但是我在实际运行环境中使用到了smtp插件,其中发送邮件部分就使用到了curl族函数,那么就必须要按照php5的curl组件。
LAMP,就是LinuxApacheMysqlPhp,如今Linux环境/Apache服务/Php环境都已OK,下一步就是安装Mysql。
# install mysql silently
debconf-set-selections <<< 'mysql-server mysql-server/root_password password root'
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password root'
apt-get -y install mysql-server mysql-client
# test1: is in background thread
IS_MYSQLD_IN_BG=`ps xuax | grep -v grep | grep mysqld`
if [ -z "$IS_MYSQLD_IN_BG" ]; then
echo "ERROR!!! not found mysqld in background threads";
exit;
fi
echo "found mysqld in background threads";
#test2: check mysql user/password
mysql -u root -proot -e ''
if [ $? -ne 0 ]; then
echo "ERROR!!! mysql user/password error";
exit;
fi
echo "mysql user/password pass";
注意,这一步我使用了静态模式安装,即避免了在安装过程中需要手动输入mysql的管理密码,同样在安装完成后,我们使用mysql验证是否运行正常且密码设置成功。
安装完mysql后,我们还需要把mysql作为php的一个组件,这样才可以通过php来调用和操作mysql。
# install php5-mysql
apt-get install -y php5-mysql
# add mysql extension in apache2/php.ini and restart apache
echo "extention=mysql.so" >> /etc/php5/apache2/php.ini
注意,这里安装了php5-mysql组件并在php5的web模式配置文件中将mysql组件注册一下。
# modify the default http root path to /var/www/ and restart apache
sed -i 's/html//g' /etc/apache2/sites-enabled/000-default.conf
/etc/init.d/apache2 restart
最后,我们并没有直接把WordPress安装到/var/www/html/,而是把apache的根目录回退到/var/www/这一级。完成最后这一步,LAMP的环境就OK了,这个时候我们把apache重启一下,让所有的设置全部生效。
#download wordpress the last release archive
wget https://wordpress.org/latest.zip
# install unzip tools and unzip the archive file
apt-get -y install unzip
unzip latest.zip
rm latest.zip
# move wordpress to the http server path
mv wordpress /var/www/
首先我们需要下载并解压最新版本的WordPress并放置到/var/www/目录。
我们需要手动创建一下数据库:
mysql -u root -proot -e 'CREATE DATABASE IF NOT EXISTS wordpress DEFAULT CHARSET utf8 COLLATE utf8_general_ci;'
下一步就是把数据库配置写入配置文件中:
echo "define('DB_NAME', 'wordpress');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');
" > /var/www/wordpress/wp-config.php
WordPress用了一组随机数来作为系统内部判断登陆/鉴权等使用,具体需要查看WordPress相关资料。
wget https://api.wordpress.org/secret-key/1.1/salt/ -O salt.txt -q
cat salt.txt >> /var/www/wordpress/wp-config.php
rm salt.txt
最后就是一个数据库表名字前缀,默认都是wp_,
echo "
\$table_prefix = 'wp_';
" >> /var/www/wordpress/wp-config.php
到目前为止,WordPress的安装和配置就OK了,下一步就是著名WordPress的5分钟安装(实际上是配置)。
在安装完WordPress后需要进行的一些配置和操作详见我的其他文章:
安装WordPress后的必备设置和修改
安装WordPress后的必备设置和修改2-解决google字体无法访问的问题
安装WordPress后的必备设置和修改3-关闭系统更新监测
安装WordPress后的必备设置和修改4-解决发送邮件失败的问题
本文同步发表于:NferZhuang个人网站,CSDN博客,开源中国博客