分类
HTTP/2 相关 Linux 相关 Web 服务器

升级PHP 7.1并启用PHP-FPM

一个多月前把系统升级到了Debian Buster,同时Apache也升级到了2.4.27,然后就发现HTTP/2没法用了,因为那时忙别的事情,也就没去管它。

今天闲着无事,就翻了翻文档,才发现在Apache 2.4.27中,Apache MPM (Multi-Processing Module) prefork取消了对HTTP/2的支持。因此,准备随即切换到Apache MPM event。

但随之而来的一个新问题就是,Apache服务器下,PHP所使用的mod_php模块只能支持prefork,因此,同时要将PHP切换到php-fpm以在FastCGI模式下运行PHP。然后想想,不如同时把PHP升级到7.1版本算了。

首先要做的,就是卸载PHP 7.0,虽然直接安装也行,但我还是选择了卸载,反正留着也没用。如果有安装phpMyAdmin,因为依赖被卸载,所以也会连带被卸载,这里直接选择卸载重装。

apt-get purge phpmyadmin php7.0-gd php7.0-xml php7.0 php-pear php7.0-mysql php7.0-common
apt-get autoremove

然后重新安装PHP 7.1,可以一步安装完所有包,也可以分开安装。这里为了写得清楚一点,分开写。但需要注意的是,如果一步安装PHP 7.1基本包的同时安装php7.1-fpm,默认就不会安装包含了mod_php模块的libapache2-mod-php7.1,如果你要用mod_php,要么分开两步装,要么别装php7.1-fpm。

首先安装LAMP需求的包。

apt-get install php7.1 php-pear php7.1-mysql

然后是WordPress需求的包。

apt-get install php7.1-gd php7.1-xml

然后是php-fpm。

apt-get install php7.1-fpm

最后装回phpMyAdmin,需要注意的是,phpMyAdmin默认安装的需求包是php7.0-mbstring,在PHP 7.1下会提示缺少mbstring,这个问题困扰了好久!最后发现,直接选择安装php7.1-mbstring就解决了!

apt-get install phpmyadmin php7.1-mbstring

安装完成之后重新配置以下phpMyAdmin就行。可以参考这里:写给像我这样的新手的phpMyAdmin教程 (Apache)

之后就是启用PHP-FPM了。

首先关闭Apache服务器。

service apache2 stop

再执行以下命令。

a2enmod proxy_fcgi setenvif
a2enconf php7.1-fpm
a2dismod php7.1
a2dismod mpm_prefork
a2enmod mpm_event

最后重新启动Apache,这样就大功告成了,很简单。然后测试一下,我遇到了些问题,最后发现是自己写的.htaccess里面有一些PHP语句需要更新,这方面注意一下。

分类
Web 服务器

写给像我这样的新手的WordPress教程 (LAMP)

上一篇那教程基本啥也没写,因为只是在Debian上装了LAMP环境,今天继续,开始配置WordPress。

在上一篇的基础上,首先是下载最新版的WordPress。

wget http://wordpress.org/latest.tar.gz

别跟我说你没装wget,没有的话apt-get install一下吧。

然后解压缩。

tar -xzvf latest.tar.gz

下一步先配置MySQL,需要为WordPress建一个数据库。输入下面的命令进MySQL Shell的界面,需要昨天给MySQL设置的root密码。

mysql -u root -p

输入如下命令,wpdatabase可以改成自己喜欢的名字。

CREATE DATABASE wpdatabase;

看到这样的提示就OK了。

Query OK, 1 row affected (0.00 sec)

继续输入命令,wpuser可以改成自己喜欢的名字。

CREATE USER wpuser@localhost;

提示不打了,都差不多,然后下一条命令,其中wpuser就用之前设置的名称,一致就行,dbpassword是自己设置的密码,建议自己改成复杂一点的。

SET PASSWORD FOR wpuser@localhost= PASSWORD("dbpassword");

接下来输入下一条命令,注意数据库名称、用户和密码都跟上面一致。

GRANT ALL PRIVILEGES ON wpdatabase.* TO 
wpuser@localhost IDENTIFIED BY 'dbpassword';

最后刷新一下数据库配置。

FLUSH PRIVILEGES;

退出MySQL Shell。

exit

下一步开始配置WordPress。

首先拷贝配置文件到WordPress文件夹。

cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php

然后打开配置文件开始编辑。我喜欢用vi,你们爱用什么文本编辑器都可以。

vi ~/wordpress/wp-config.php

找到下面这些行,根据之前设置的MySQL数据库名称、用户和密码修改。

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wpdatabase');

/** MySQL database username */
define('DB_USER', 'wpuser');

/** MySQL database password */
define('DB_PASSWORD', 'dbpassword');

保存并退出。

然后同步所有解压好的WordPress文件到Apache的默认站点根目录,用rsync命令。啥,你没装?apt-get install一下吧。

rsync -avP ~/wordpress/ /var/www/html

进入网站目录。

cd /var/www/html

修改所有者,并且把当前用户也添加到www-data组,username是你ssh登录的用户名,如果是root就不用加了,肯定能访问。

chown www-data:www-data /var/www/* -R 
usermod -a -G www-data username

如果你用的还是Apache 2.2版本,默认站点根目录是/var/www,为了WordPress可以不用FTP就能够顺利更新,建议把/var/www的权限也改下。

chown www-data:www-data /var/www/

然后再安装一下php-gd和php-xsl,如果你用的是PHP5,用以下命令安装。

apt-get install php5-gd php5-xsl

如果你用的是PHP7.0,则用以下命令安装,注意有一个包名改了,虽然php7.0-xsl目前还指向php7.0-xml,但建议输入php7.0-xml安装。

apt-get install php7.0-gd php7.0-xml

最后,把Apache默认主页改掉,不建议删除,重命名吧。

mv /var/www/html/index.html /var/www/html/index.html.orig

到这里,WordPress已经可以使用了,只要在浏览器输入你的IP或域名就可以正常访问了。接下来WordPress的网页安装超级傻瓜,就不写了。

这时候,就可以在WordPress上写东西了,而且如果权限配置没有问题的话,WordPress已经可以更新,下载插件、主题等东西了,不用依赖FTP。下次再写写如何为WordPress开启HTTPS吧。

分类
Linux 相关 Web 服务器

写给像我这样的新手的LAMP教程 (Debian) ——开站纪念

开站前原本想用LNMP方案的,因为以前尝试过的一键部署就是LNMP (CentOS),相对来讲对Nginx也比较熟悉一点,但这次换了Debian又想尝试一把Apache,就用了LAMP,本新手教程同样适用于Ubuntu。废话不多说,写正题,sudo不加了,不是root登录的自己加吧。

首先更新一下。

apt-get update
apt-get upgrade

然后安装Apache。

apt-get install apache2

测试一下,http://IP,看到It works!就行了。

然后安装MySQL。

apt-get install mysql-server

会让你设置root密码,强度高一点,随便设置就行。

运行这个命令进行安装之后的配置。

mysql_secure_installation

看到这个。

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

嗯,输入刚才的密码。一长串问题跟着选y就行了。

接下来安装PHP,一般用PHP5,较新的系统可以考虑PHP7.0,安装PHP5的命令如下。

apt-get install php5 php-pear php5-mysql

如果选择PHP7.0,安装命令如下,很简单的把5换成7.0就行。

apt-get install php7.0 php-pear php7.0-mysql

重启一下Apache。

service apache2 restart

就这么简单,大功告成。啥,你说我等于啥也没说?是的,后续的等下一篇再写吧。