概述:

 


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、保存菜单。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信