LAMP及wordpress安装过程记录

0x00 前言

第一次建站用的是阿里云的一键安装,简便是挺简便的,当时没注意,后来想对网站进行一些修改的时候,后面发现Web服务器根目录被改成了phpwind,而且我还不知道怎么改回来(apache2配置文件中修改无用),强迫症迫使我决定重新手动配置一下环境,再建一次站点。

0x01 服务器和域名的购买,以及备案

我是在阿里云买的服务器,学生价一个月10块,1核,2GB内存,40G硬盘空间。域名直接在万网买了。最开始买了五年的ididsec.win,主要是因为便宜,win后缀看起来也不错。然而我还是太天真了,这种非主流域名还无法在中国备案,只好又买了个ididsec.com的域名。所以各位想在国内备案的时候注意去查询一下你的域名是否能够备案。当然非大陆的服务器就不需要备案了。接着就是备案的流程。主要就是填一堆东西,照着流程做就是了,比较麻烦的一个地方就是需要购买幕布按照要求拍摄半身照(以后认识的人想备案阿里云直接找我借幕布就行了),一切搞定提交后,等待个十天左右,网站就备案好了。

0x02 LAMP环境的安装和配置

1.我服务器的系统是ubuntu14.04,账户权限就是root。LAMP的安装没啥技术含量,首先先更新一下源

apt-get update

​ 因为我本来就是root账号,所以不需要加sudo。如果你的账号权限不够的话,需要加sudo提升为root权限。

2.直接安装apache2

apt-get install apache2

通过命令

apache2 -v

可以确认apache2是否安装成功,也可以直接通过浏览器访问服务器IP,如果出现相关页面也可以确认apache2安装 成功。安装好后我的Web服务器默认根目录在/var/www/html。

3.接着安装PHP模块,使用以下命令

apt-get install php5 -y

后面的参数-y,意思就是安装过程中如果出现Y/n的选项,直接确认,不需要手动输入y。

4.继续下一步,安装MySQL

apt-get install mysql-server mysql-client

安装的过程中会让你输入数据库root账号的密码。

5.最后,安装一些必需的组件

apt-get libapache2-mod-php5 libapache2-mod-auth-myql php5-mysql php5-gd

libapache2-mod-php5 apache2的一个模块,能让apache2支持php5

libapache2-mod-auth-myql apache2的一个模块,让apache支持MySQL数据库的HTTP身份验证

php5-mysql php5的mysql数据库扩展,提供php能够使用的访问mysql的接口

php5-gd 开启php对gd库的支持。在php中使用gd库来对图像进行操作,GD为是一个动态的开放的创建图像的源代码公开的函数库。

6.说些题外话,其实决定重新配置环境的时候是打算搭建LNMP环境的,即linux+nginx+mysql+php,但是环境的配置十分顺利,却在wordpress的安装上出了问题。花了很多时间,各种改配置文件,最后把自己改懵了,一气之下还是用回了比较熟悉的apache2。

7.修改网站根目录权限

chmod -R 777 /var/www/html

8.为了以后方便管理数据库,安装phpmyadmin,输入以下命令

apt-get install phpmyadmin

安装过程中选择apache2,还需要配置一下数据库,照着操作就是了。安装完phpmyadmin,使用命令

ln -s /usr/share/phpmyadmin /var/www/html

建立一个网站根目录与phpmyadmin的快捷链接。此时在浏览器中输入http://IP/phpmyadmin就可以访问图形化的MySQL数据库了。/usr/share/phpmyadmin 是phpmyadmin的安装位置,/var/www/html是网站默认根目录。

9.启用mod-rewrite模块,重启apache2服务

a2enmod rewrite
service apache2 restart

mod-rewrite是apache2的一个模块,此模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。此模块可以操作URL的所有部分(包括路径信息部分),在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效,还可以生成最终请求字符串。此重写操作的结果可以是内部子处理,也可以是外部请求的转向,甚至还可以是内部代理处理。具体内容可参考此篇文章

10.到此,LAMP环境的搭建应该就算是完成了。如果到这里出现了没有预料的问题。emmmmm……请百度或者谷歌。

#0x03 wordpress的安装和配置

1.首先在数据库中创建一个表,输入以下命令

mysql -uroot -p密码
create database wordpress;

2.到官网把wordpress的安装包下载到服务器中并解压到网站根目录下。将wp-config-sample.php重命名为wp-config.php,并修改其中数据库名,用户名,密码等信息。

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpressadmin');
/** MySQL database password */
define('DB_PASSWORD', 'wordpresspassword');
/** MySQL hostname */
define('DB_HOST', 'localhost');

3.重启apache2服务,在浏览器中输入http://ip/wp-admin/install开始wordpress的安装,照着操作就行了。

#0x04 个人遇到的问题和解决方法

1.安装好了wordpress,先选了个喜欢的主题。这一步没有出啥问题。
2.根据第一次建站的经历,我二话不说先改了改wp-content目录下的文件夹读写权限(后两个文件夹可能需要自建)

chmod -R 755 plugins/ 
chmod -R 755 themes/
chmod -R 755 uploads/
chmod -R 755 upgrade/

这么做的目的是为了安装插件的时候不输入FTP服务器账号密码。万万没想到安装插件的时候还是需要我输入FTP服务器账号密码。

3.让我搭FTP服务器我就搭FTP服务器,我岂不是很没有面子。然后我就下了vsftpd开始配置FTP服务器。(这时候也可以考虑一下sftp)

apt-get install vsftpd

在etc下找到vsftpd.conf文件,可以用vim修改也可以使用Xftp用记事本打开修改内容,关闭匿名登录。输入以下命令重启vsftpd

service vsftpd restart

可以通过

service vsftpd status

查看vsftpd运行状态

添加用户test

useradd test -m -s /bin/bash
passwd test password

在浏览器地址栏中输入ftp://IP尝试登录。这时候我的浏览器弹出530 login incorrect,一脸懵逼,各种查资料,最后用下面的办法解决

检查/etc/pam.d/vsftpd
vim /etc/pam.d/vsftpd
注释掉auth    required pam_shells.so

继续登录,又跳出个 500 OOPS: vsftpd: refusing to run with writable root inside chroot(),二脸懵逼,继续搜索解决方案

在etc/下的vsftpd.conf中添加allow_writeable_chroot=YES
这里可以使用
echo "allow_writeable_chroot=YES" /etc/vsftpd.conf

成功登录。

4.回到wordpress,终于可以顺利登录FTP服务器了,开始安装插件。安装什么插件我自己都还没搞清楚,就不在这里推荐了。总之安装插件的过程中又出现问题了。无法定位wp-content目录。这个解决方法很快就会找到了,将以下内容添加到wp-config.php中

if(is_admin()) {add_filter('filesystem_method', create_function('$a', 'return "direct";' ));define( 'FS_CHMOD_DIR', 0751 );}

5.继续安装,又出问题了,exo me?这回是无法创建目录。很明显这是一个权限的问题。继续查找解决方案,原来是因为我ftp账号默认是无法对其他文件夹进行操作的,将vsftpd.conf中的 chroot_local_user值设为YES,就可以了。

6.继续安装插件,成功安装,完美。到此就差不多结束了,接下去就是网站的优化和修改。

0x05 总结

总结起来,从零开始用wordpress建站的流程就是购买服务器,购买域名(可选),搭建环境,安装wordpress,优化,发布内容。说起来简单,但是自己做的时候真的是各种坑。不过,最后也都顺利解决了。这篇流水账记到这里也就结束了。如果以后有什么新的经验,会直接更新到这篇文章下。

0x06 补充

wordpress如果想要修改文章链接的形式,需要开启apache2的rewrite模块。
首先我按照网上的教程去寻找httpd.conf,并没有找到。发现可以在名为apache2.conf的文件里直接照着教程修改效果也是一样的。
搜索AllowOverride None 替换为 AllowOverride All,并将其所在的dictionary改为网站根目录。然后在网站根目录下新建一个.htaccess文件。wordpress修改固定链接时会提醒你手动更新.htaccess文件。将文本内容复制进.htaccess即可。为了避免麻烦,还可以将.htaccess读写权限修改一下,让wordpress可以自动进行修改。

感谢阅读。

发表评论

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