概述:
Web服务器主要用来挂网页、写博客,可以看做是搭建一个网站。个人Web服务器其实需要的功能一般不多,能写个博客就是了。本文要讲的是通过一个家里的局域网里的一台Ubuntu电脑运用WordPress搭建Web服务器。租用服务器或者使用云服务器的搭建原理都一样,可以参考。大概有以下几个要点:
1、找个主机当服务器。可以是家里台式机、笔记本、甚至是安卓手机、树莓派等;也可以花钱租用服务器或者使用第三方提供的云服务器。
2、找个操作系统。一般就是在Windows、Linux、Unix里面找适合自己的。我比较喜欢Ubuntu,主要是习惯了,而且Ubuntu的软件仓库齐全,软件源哪怕是官方的下载速度也不差。
3、搭建环境。由于要使用WordPress,所以要搭建一个LAMP环境,这个LAMP是指Linux、Apache、php和MySql。
4、安装并设置WordPress。其实是WordPress+MySql+FTP功能,WordPress是博客网站的搭建工具;MySql用来管理相关的数据;FTP功能解决WordPress主题插件等的安装和更新。
内网搭建有上面4点就够了,要在外网登录就需要做动态DNS映射,以及申请或购买域名。这个就有很多方式了,比如花生壳、nat123等,本文不涉及,请自行百度。
一、准备服务器
1、家里的局域网,也就是家里用WiFi的那个。
2、主机。有一台电池已经作古的便携式老笔记本,反正处理的数据不多,就用它。好处是省电,打开WiFi和盖上屏幕后整机功耗在12瓦到15瓦之间。主要配置如下:
CPU:Intel Celeron su2300双核心 1.2GHz,支持64位
内存:2GB DDR2
硬盘:64GB SSD Kingston SV200s3
题外话,这个配置已经超低能了,平常用WordPress挂网站,大概10%的cpu占用都不到,难怪安卓手机都能用来挂网站。
3、操作系统。Ubuntu的一个发现版本Lubuntu,老笔记本用着不会太占资源。选用Lubuntu 16.04 LTS 64位,长期版本用着比较安心。
Lubuntu文本编辑器是LeafPad,而不是Gedit,所以下面提到leafpad时,用ubuntu的可以自行改为gedit就行了。当然,会用vim的高手可以忽略。
二、搭建LAMP环境
sudo apt install lamp-server^
(^符号必须有)
Ubuntu会自动安装最新版本的Apache2、php5和MySql5,并启动相关服务。
安装过程中会弹出设定 mysql-server-5.7,要求设置数据库的root密码。Linux的这种安装弹出页面,一般空格键是选择,Tab键是下一个选项。
这个root用户是MySql的最高权限用户,不是ubuntu的root用户。按要求设好密码点击确定,继续安装流程。
接下来安装用于浏览器页面对MySql数据库进行管理的phpmyadmin,今后会用到。
sudo apt install phpmyadmin
安装过程中会弹出设定 phpmyadmin时,按空格键选apache2。
出现Configure database for phpmyadmin with dbconfig-common? 选择yes
还要,输入MySql的root用户密码。
然后,重启apache,Mysql
sudo service apache2 restart
sudo service mysql restart
浏览器登录http://localhost/phpmyadmin看是否出现初始登录界面。
至此,LAMP环境搭建完成。
三、安装WordPress
1、到https://cn.wordpress.org/ <https://cn.wordpress.org/>
去下载最新的WordPress中文版本,比如下载获得wordpress-4.7.4-zh_CN.zip,找个地方解压缩后会得到一个wordpress目录,将这个wordpress目录放到/var/www/html 下。我是这样做的:
cd /home/abcd
假设解压在/home/abcd目录
sudo cp -r ./wordpress /var/www/html
2、给wordpress目录赋权,需要所有用户能读写的权限。
cd /var/www/html
sudo chmod -R 777 wordpress
777表示开放所有权限,-R表示该目录下的目录也授权。
3、然后登录http://localhost/wordpress/,如果提示没有wp-config.php(刚安装目录里是没有此文件的),则说明WordPress安装已经成功了。
四、新建一个wordpress数据库
登录http://localhost/phpmyadmin
点击数据库,输入数据库名,比如wordpress,然后点击创建。
也可以去建一个新用户,然后赋权,但一般还是用root用户就行了。
五、修改wp-config.php
cd /var/www/html/wordpress
cp wp-config-sample.php wp-config.php
sudo leafpad wp-config.php
修改以下项目:
define(‘DB_NAME’, ‘wordpress’); // 数据库名命名为wordpress
define(‘DB_USER’, ‘root’); // MySQL用户名,这里用root
define(‘DB_PASSWORD’, ‘×××××’); // MySQL的用户密码,这里是root用户密码
保存退出
打开浏览器,键入http://localhost/wordpress/
接下来是欢迎使用著名的WordPress五分钟安装程序,一步步按向导设置。
至此,终于可以进入WordPress后台了。
登录网址的规则如下:
http://localhost/wordpress/ 博客主页
http://localhost/wordpress/wp-login.php 用户登录后台
六、让局域网内设备可以查看
登录WordPress设置——常规设置
将WordPress地址、站点地址,由http://localhost/wordpress进行修改。比如服务器地址为192.168.1.111,就改为http://192.168.1.111/wordpress
这样在局域网内的其他电脑或者手机的浏览器里输入
http://192.168.1.111/wordpress,就会登录博客主页
http://192.168.1.111/wordpress/wp-login.php,就可以登录后台。
七、解决网页的固定链接问题
经过以上修改,当点击一片文章的链接跳转页面时会出现404错误。这是由于网页的固定链接没有生效造成的,现在来解决这个问题。
1、开启apache2对.htaccess 的支持
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/rewrite.load rewrite.load
sudo leafpad rewrite.load
可以看到
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
退出
sudo a2enmod
Which module(s) do you want to enable (wildcards ok)?
输入rewrite
Module rewrite already enabled
2、服务器开启AllowOverride
备注:apache2安装在/etc/apache2目录,apache2的配置文件是apache2.conf,而不是httpd.conf
cd /etc/apache2/
sudo cp -r apache2.conf apache2.conf.bak #做个备份
sudo leafpad apache2.conf
如果AllowOverride设置的是None,那.htaccess将被忽略。
找到AllowOverride None改为AllowOverride All
将
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
改为:
<Directory />
Options FollowSymLinks
AllowOverride All
Require all denied
</Directory>
将
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
改为:
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
3、重启apache2服务
sudo systemctl daemon-reload
sudo service apache2 restart
4、检查.htaccess
cd /var/www/html/wordpress
sudo leafpad .htaccess
看到
RewriteEngine On
就可以退出,没有就修改退出。
5、设置固定链接
从http://localhost/wordpress/wp-login.php登录WordPress
设置——固定链接
选择类型,分类目录前缀、标签前缀可以空白不填。
保存更改,问题解决。
6、 wordpress官方主要提供了以下几个参数:
%year% 年份
%monthnum% 月份
%day% 日期
%hour% 小时
%minute% 分钟
%second% 秒
%postname% 文章名
%post_id% 文章的ID
%category% 目录
%author% 作者
自定义时可以进行组合,如下:
http://……/%post_id%.html 直接用文章ID号
http://……/%category% 目录/%post_id%.html 分类名+文章ID
http://……/%year%/%monthnum%/%day%/%post_id%.html 年月日+文章ID
http://……/%author%/%post_id%.html 作者+文章ID
八、解决无法插入图片的问题
1、给wp-content目录及子目录授权
sudo chmod -R 777 /var/www/html/wordpress/wp-content
2、修改wp-config.php
sudo leafpad wp-config.php
找到require_once(ABSPATH . ‘wp-settings.php’);
在后面添加这一句
define(‘CONCATENATE_SCRIPTS’, false );
保存退出。
九、主题安装时遇到不能下载的问题
到此为止,在本机写文章已经没问题了,但是在网内其他机器登录写文章会遇到图片不能上载的问题,主题插件下载安装也不成功。原因是主机没有FTP服务,可以安装vsftpd来解决,这个稍微复杂一点,我在
《Ubuntu实现FTP功能——vsftpd的安装和设置》
<https://blog.csdn.net/stlinax/article/details/80235583>有详细的安装步骤。
提醒一下,这个FTP功能必须有,花点功夫解决一下很必要。
另外,还可以本地上传主题文件。从网上下载主题zip文件,解压得到一个目录比如ABC,然后拷贝到/wp-content/themes也能解决。
sudo cp -r ABC /var/www/html/wordpress/wp-content/themes
然而,想从局域网放到/wp-content/themes还是得用FTP。
十、一个数据库多个博客
WordPress建好了,难道只能写一个博客,也太浪费资源了,当然要多开几个。
为了能够在局域网的本地网址登录,在没有域名的情况下,可行的办法是在/var/www/html/下通过复制wordpress目录并修改wp-config.php的方法来实现。
这里简单解释一下,这个/var/www/html/wordpress是拷贝来的,原装的目录名是wordpress,其实也可以是别的名字,如果改成WP1的话,那么博客主页的网址从
http://localhost/wordpress/
变成
http://localhost/WP1/
但这不影响目录里的wp-config.php,因此还是wordpress数据库。
那就可以通过复制目录的方式来建多几个博客。
例如,要有wp1和wp2两个博客,则在安装好wp1后
cd /var/www/html/
sudo cp -rf wp1 wp2
接下来,去修改wp2的设置
cd /var/www/html/wp2
sudo leafpad wp-config.php
找到:
/**
* WordPress数据表前缀。
*
* 如果您有在同一数据库内安装多个WordPress的需求,请为每个WordPress设置
* 不同的数据表前缀。前缀名只能为数字、字母加下划线。
*/
$table_prefix = ‘wp_’;
更改前缀,比如将’wp_’改为’wp2_’
$table_prefix = ‘wp2_’;
只要前缀不一样就行,保存退出
由于这个wp-config.php是复制过来的,所以数据库的设置不用去改变。
然后登录http://localhost/wp2/,接着安装wp2博客。
安装完成后,WordPress会在同一个数据库下产生前缀不同的数据表,可以通过http://localhost/phpmyadmin去查看到。会看到数据库wordpress下有一些wp_开头的数据表和一些wp2_开头的数据表。
这样,以后要登录这两个博客的网址就变成:
http://localhost/wp1/ wp1博客的主页
http://localhost/wp2/ wp2博客的主页
http://localhost/wp1/wp-login.php wp1博客进行用户登录
http://localhost/wp2/wp-login.php wp2博客进行用户登录
这个方法的好处是在一个数据库下管理所有数据表,方便导出备份,各自目录拥有一个完整的WordPress文件,互不干涉。
好了,至此可以运用WordPress愉快的玩耍个人Web服务器。
【号外:一个小技巧】
WordPress点击自定义菜单时从新标签页打开链接的设置方法
1、外观――菜单,点击右上角的“显示选项”;
2、在“显示菜单高级属性”中勾选“链接目标”:
3、然后菜单结构中的每一项菜单链接会多出“在新窗口或标签页打开链接”选项,根据自己需要去勾选前面的小框:
4、保存菜单。
热门工具 换一换