Ubuntu 16.04下搭建好LAMP环境后,可以按照以下方法,将本地站点部署到服务器上。
以WordPress为例,假设:
站点根目录为/var/www/wordpress
MySQL数据库为wp
表前缀为wp_
访问URL为:8000
配置Apache监听端口 1. 添加监听的端口vim /etc/apache2/ports.conf
添加一行:Listen 8000
vim /etc/apache2/sites-enabled/000-default.conf
添加如下内容:
将端口号替换为需要的8000
将DocumentRoot、Directory、ErrorLog、CustomLog文件路径改为站点的路径
3. 重启Apacheservice apache2 restart
4. 配置IptablesUbuntu的防火墙可能会屏蔽外网对服务器端口对访问。因此需要打开8000端口
查看防火墙配置信息
iptables -L
Ubuntu16.04默认开放了80端口,没有开放8000等端口。
配置Iptables规则
vim /etc/iptables.up.rules
添加一行
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8000 -j ACCEPT
应用防火墙规则
iptables-restore < /etc/iptables.up.rules
**查看防火墙配置信息
iptables -L
若出现ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:8000,则防火墙配置成功。
使用FTP工具,将本地等站点目录,上传到服务器/var/www/下
2. 导入数据库
使用phpMyAdmin或其他MySQL管理工具,将本地MySQL中WordPress数据库导出为.sql文件。
将.sql文件导入到服务器的MySQL。
3. 修改WordPress配置vim /var/www/wordpress/wp-config.php
更正数据库的名称、用户名、密码、表前缀等。
修改MySQL中wp_options数据表,将site_url和home的option_value更正为:
:8000
移植WordPress后,首页可以显示出来了。但是点击菜单、文章、页面、目��等,会显示404
为Apache2开启mod_rewrite模块
查看是否开启mod_rewrite:
find /etc/apache2/mods-enabled/ -name rewrite.load
若没有,将 rewrite.load 添加到 /etc/apache2/mods-enabled
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/
WordPress根目录内新建.htaccess文件
vim /var/www/wordpress/.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 2.解决后台登录界面的403 Forbidden这是由于Apache2的安全模块对访问做了限制。
vim /var/www/wordpress/.htaccess
在开头添加如下内容: