1. Linux安装——centOS
首先登录centOS的官网http://www.centos.org/下载,拷贝到U盘或者光盘,然后进行安装。
2. 使用yum安装apache,php,mysql
(1)安装apache,php和mysql
安装好Linux操作系统之后,需要安装一些基本软件服务,在cxy童鞋的建议下,我使用yum安装apache,php和mysql。如果你安装的是ubuntu的linux图形界面系统,可以采用apt-get来安装这些软件。centOS自带了yum和apache。可以通过命令rpm -qa yum和rpm -qa httpd检测是否安装了yum和apache。如果安装了软件,会显示安装的软件版本,否则会显示空。yum是一款具备软件搜索,安装和卸载等功能的软件管理工具,类似于windows的360软件管家。对于yum的操作具体可以参见
http://my.huhoo.net/archives/2009/06/yum.html#.E7.9B.AE.E7.9A.84
我们可以采用以下命令完成apache,php和mysql的安装
1
|
yum -y install httpd php mysql mysqld mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql
|
具体可以参见 http://heyh0520.iteye.com/blog/540851
(2)检测apache,php和mysql是否成功安装
采用在浏览器中输入http://localhost来检测apache是否安装成功。如果弹出apache的测试页面,则说明apache安装成功。否则说明apache安装或者配置存在问题。可以通过service httpd status查看apache服务是否启动,如果采用service httpd restart的过程中弹出以下错误:
1
2
|
正在启动
httpd:httpd: apr_sockaddr_info_get() failed for luoqingPC
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
|
解决办法:打开httpd的配置文件/etc/httpd/conf/httpd.conf,修改ServerName为127.0.0.1, 然后采用service httpd restart来重启apache的服务,此时将不会报上面的错误。接着验证php是否成功安装。在apache的默认站点目录/var/www/html/下新建一个get_php_info.php的脚本,并且在该php脚本中敲下如下代码:
1
2
|
<?php
phpinfo();
|
在浏览器中输入http://localhost/get_php_info.php看apache是否能成功解析php脚本。如果能够弹出php的模块信息。说明安装成功。否则请检查apache的配置文件。我在验证php是否安装成功的时候,很不幸弹出的是空白页面,并且查看访问错误日志/var/log/httpd/error_log的时候,出现以下错误提示:
1
|
PHP Fatal error: Unknown: Failed opening required '/var/www/html/get_php_info.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0
|
于是检查/etc/httpd/conf/httpd.conf的配置文件,发现其包含了/etc/httpd/conf.d/php.conf, 并且也包含.so的各个模块。后来在网上很幸运滴看到有一个家伙与我遇到同样的问题,通过如下设置SELinux的相关选项,然后重启apache,一切ok。
1
2
|
/usr/sbin/setsebool -P httpd_can_network_connect=1
/usr/sbin/setsebool -P httpd_enable_homedirs=1
|
具体可以参见以下两个链接
http://ar.newsmth.net/thread-de0c36ef027c93.html
http://www.linuxidc.com/Linux/2013-09/90593.htm
接着是验证mysql是否安装,配置mysqladmin的密码。
可以通过chckconfig mysqld来看其是否正常安装,并且通过mysqladmin -u root -p来设置密码。设置密码之后,通过mysql -u root -p yourpassword来登录mysql。如果成功登录之后,可以通过show databases; 看sql语句是否正常执行。
3. 安装wordpress布置站点
(1)首先是创建wordpress的数据库,通过mysql -u root -p yourpassword连接数据库,之后create database wordpress;
(2)然后通过到wordpress的官网http://cn.wordpress.org/下载最新版本的wordpress,并且通过命令unzip解压zip文件得到wordpress的安装文件,将该文件夹拷贝到apache的默认站点下/var/www/html/.
(3)通过命令cp wp-config-sample.php wp-config.php,拷贝wp-config-sample.php到wp-config.php。
接着配置wp-config.php,通过修改DB_NAME,DB_USER和DB_PASSWORD三项来设置wordpress的数据库。
1
2
3
4
|
/** WordPress数据库的名称 */
define('DB_NAME', 'database_name_here');/** MySQL数据库用户名 */
define('DB_USER', 'username_here');/** MySQL数据库密码 */
define('DB_PASSWORD', 'password_here');
|
(4)在浏览器中输入http://localhost/wordpress来验证wordpress是否正常安装,如果显示“建立数据库连接错误”的错误提示信息,请检查mysqld的服务是否启动。
PS:以上是在centOS上布置站点,如果在ubuntu上布置站点可以参见链接http://macshuo.com/?p=547
4. 配置虚拟站点 & phpMyAdmin & 局域网站点相互访问
上面的wordpress站点部署采用了默认站点,其实我们也可以通过配置虚拟站点来在一台服务器上设置多个站点。
在httpd的配置文件中添加如下代码,并且重启apache的服务。
1
2
3
4
5
6
7
8
9
10
11
|
Listen 81
ServerAdmin xxxxxx@126.com
DocumentRoot /xxxx/xxxx/xxxxx/wordpress
ServerName *.81
ErrorLog logs/wordpress-error_log
CustomLog logs/wordpress-access_log common
<Directory "/xxxx/xxxx/xxxxx/wordpress">
Options Indexes MultiViews FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
|
也可以将上述的配置放置在/etc/httpd/conf.d/vhost.conf中, httpd.conf会自动包含../conf.d/*.conf.
现在我有两台电脑,通过两台电脑来模仿客户端-服务器端的访问方式。通过在client端的浏览器中输入http://server-ip:port来访问服务器端的网站,注意将服务器端的防火墙进行关闭。在进行访问的时候,可能会弹出Forbidden 403的错误,错误信息显示you have no access to… 可以通过查看apache的访问日志来判断是不是Document Root文件夹的访问权限不够还是httpd的配置文件中对某些ip进行了限制,将Deny From All修改为Allow From All。注意文件夹权限需要重根目录开始设置 chrom -R o+x /usr
具体可以参见如下链接:http://download.zdnet.com.cn/download/2011/0922/2058738.shtml
在模拟client-server的过程中,除了遇到上述问题,在client端访问设置在默认站点下的wordpress的时候,链接跳转老是跳转到localhost,在网上百度了下,需要在wordpress的管理后台设置链接地址。
具体参见:http://blog.csdn.net/lincyang/article/details/7200139
phpMyAdmin本来是非常容易安装的,只需要将phpMyAdmin安装文件夹放置在默认站点目录/var/www/html/下即可,然后通过http://localhost/phpMyAdmin来进行访问。
但是我的安装却是一波三折。我依然采用yum来进行安装,“yum -y install phpMyAdmin”安装phpMyAdmin之后,
(1)通过命令“mv /usr/share/phpMyAdmin /var/www/html/. ”将phpMyAdmin的文件夹移动到默认站点目录下。
(2)通过http://localhost/phpMyAdmin访问mysql数据库,输入用户名和密码之后成功访问,并且在另外一台局域网的电脑http://server-ip/phpMyAdmin也成功访问。
于是比较作的小青青又想着如何让mysqld服务开机启动,于是进行了简单设置,对服务器进行重启。悲伤的故事发生了…重启之后,mysqld服务没有成功开机自动启动,而且通过http://localhost/phpMyAdmin访问出现Not Found on the Server的错误,并且在client端通过http://server-ip/phpMyAdmin访问出现”you have no access to ./phpMyAdmin”的403错误,同时我的synergy服务也不好使了,突然有一种看到自己搭起的小房子瞬间坍塌的赶脚,有一股想哭却哭不出来的冲动。
于是乎小青青擦干眼泪,看apache的访问日志/var/log/httpd/error_log, 惊奇的发现其访问的是/usr/share/phpMyAdmin, 去看配置文件,惊奇的发现/etc/httpd/conf.d/phpMyAdmin.conf文件的存在。原来电脑重启前可以成功访问,是因为apache的服务没重启。其访问的是/var/www/html/phpMyAdmin。电脑重启后,apache服务也自动重启,其包含了phpMyAdmin.conf,所以其访问的是/usr/share/phpMyAdmin. 于是乎两种解决方案出来了。经测试两种方案都可成功访问phpMyAdmin。
方法1:将/usr/share/phpMyAdmin移动到默认站点目录var/www/html/, 并且将 phpMyAdmin.conf配置文件从apache配置目录/etc/httpd/conf.d中移除.
方法2:修改phpMyAdmin.conf 的权限,如下截图所示:
1
2
3
4
5
6
7
8
9
10
11
|
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
修改如下
Order Deny,Allow
Allow from All
#Deny from All
#Allow from 127.0.0.1
#Allow from ::1
|
最后两个都要重启apache,通过http://localhost/phpMyAdmin或者http://server-ip/phpMyAdmin进行访问。
5.安装常用办公软件 & ssh的自动登录 & 两台电脑共享鼠标键盘剪贴板
首推的是qq,可是非常不幸的是安装的2012的qq已经停止使用
然后安装了thunderbird的邮件客户端 http://os.51cto.com/art/201101/243403.htm
qq和evernote就只能使用web版本
接着有一个类似xshell的软件能连接服务器,在小e师父的提示下,使用终端ssh命令连接公司的服务器,而且done。
但是每一次都输入通道机和通道机密码太困难了——所以尝试使用shell脚本,结果很不幸失败.
1
2
3
4
|
#!bin/bash
ssh login_name@host_name
sleep 1
echo 'password'
|
在网上查询了下,可以采用expect脚本,故yum安装了expect,并使用expect脚本,结果ok。下一次只要运行以下脚本就可以自动登录。
1
2
3
4
5
6
7
|
#!/usr/bin/expect -f
#auto ssh login
set timeout 20
spawn ssh login_name@host_name
expect “*password:”
send “password\r”
interact
|
上述操作的过程中不是一番风顺的,经常遇到问题,要将本本中搜索到的解决问题的命令发送给台式,来回特别麻烦,于是想到曾经一同事在两个电脑间自由的来回切换,仿佛使用的是同一台电脑,我细想之后应该是共享了剪切板,而没有共享屏幕,因为两台电脑的程序是相互独立的。再者我想局域网内的文件都可以共享,那么剪贴板应该更加不在话下。于是求助我的‘人生导师之一’——搜索引擎,很快就找到了synergy这个神器。
- 通过命令yum -y install synergy在linux系统安装synergy,windows端也要安装synergy。并且两台电脑需要处于同一个局域网中。
- 然后通过配置/etc/synergy.conf文件来设置server和client,同时设置他们之间的相对位置关系
- 最后通过在server端选择server端的配置,在client端运行命令/usr/bin/synergyc server-ip
- server的鼠标和键盘就可以自由的在server端和client端来回游走。
具体可以参见http://blog.csdn.net/zhenxihongyan/article/details/19637905
网上看到有人说在好友的电脑上布置上synergy,这样就可以操控其电脑,从而出现”灵异事件” 下次如果看谁不惯,此法可以一试~~我发现server端连接client的时候只依据了hostName就可以连接操作了,client端进行配置也只需要host_ip,那如果局域网谁知道我的hostName,并且在我的client端进行了相应安装设置。是不是也可以把我的电脑当做client进行操控,如何防止呢,采用防火墙?如何让我的电脑只能被某些电脑进行操纵呢?这个问题值得思索下~~
6. Summary & Acknowledgements
这几天折腾linux,发现都是按照网上的一步步操作,操作过程中我也不知道这些相应设置或者参数的具体含义,只是对linux系统有了一个感性认识。但是还是特别感觉linux系统的强大,似乎有一种相见恨晚的赶脚~网上说linux是鼓励思考的操作系统,我希望我在一步步照猫画虎的过程中能够总结一些解决问题的方法,比如如何借助身边的资源(搜索引擎,技术达人,个人积累)来搜索问题答案,遇到问题之后如何看日志,获取错误提示,在操作的过程中多动动脑筋。
最后要特别感谢cxy童鞋建议我将公司电脑利用起来,并且帮我安装了centOS,同时给了我很多不错的建议。虽然公司电脑不太好用,但是感觉有在两台电脑间切换,真是太帅了。也谢谢小e师父建议我通过使用linux系统来学习linux。还要特别谢谢lay小盆友在我建站过程中给与的一些参考资料。
一句话,加油吧,骚年! 多动动手,动动脑筋,每天进步一点点~