WordPress @ LAMP 踩坑

引子

一直将博客托管在虚拟主机上,然鹅自己有一台 VPS 用于科学上网有些浪费,索性将博客迁移了过来,因为从合租变成别墅,速度也有小小提升。折腾期间遇到一些问题,记录如下,如遇到新问题,也会不断更新。

lamp_banne

首先介绍下我的 LAMP 环境:

  • Ubuntu 16.04
  • Apache 2.4.18
  • MySQL 14.14
  • PHP 7.0

问题

固定链接无效

首先启用 a2enmod模块。

sudo a2enmod rewrite

编辑 Apache 配置文件

vim /etc/apache2/apache2.conf

将与 WordPress 存放目录相关的 AllowOverride None 修改为:AllowOverride All。可参考我的配置:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    # AllowOverride None
    AllowOverride All
    Require all granted
</Directory>

在网站的根目录创建 .htaccess 文件并设置其权限可读写。

touch .htaccess
chmod 770 .htaccess
vim .htaccess

将如下内容添加到 .htaccess 文件内。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress#  

重启 apache 服务器

service apache2 restart

安装插件需输入FTP账号

出现这样的问题是 web 服务缺少相应的权限。解决思路是先确定出执行 web 服务的用户名,然后赋予相应的权限即可。

查看当前 web 服务的用户名可以用如下命令,列出当前所有执行的进程自己筛选。

ps -aux

如果你的 LAMP 环境与我一致,也是 apache2 当前 web 服务的用户名为 www-data,之后执行以下语句修改即可。

chown -R www-data /var/www/html/
# /var/www/wordpress/ 替换为你自己的 wordpress 安装路径

Apache2 错误提示

某日瞎折腾之后 apache2 出现如下错误:

apache2 configtest failed with output "No MPM loaded."

试了很多解决方法后均无效,我的解决方案很 ugly —— 重装 php 😂。

sudo apt-get purge php7.*

至于如何安装请参考: https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-caddy-on-ubuntu-16-04

SSH root 登录错误提示

ssh root@your_serve_ip_address
# Permission denied, please try again. 
vim /etc/ssh/sshd_config
# PermitRootLogin without-password 
PermitRootLogin yes 

重启服务器

apt-get install php-mbstring
apt-get install php-xml php-xmlrpc

参考资料

  1. http://yynotes.net/why-wordpress-asks-ftp-connection-info/

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注