以前用的都是同事配置好的了,这次有个新服务器,只能自己来,搞了整一天,遇到各种坑,基本上都是百度过来的,看了N篇博客和论坛。博主的心情从接受挑战,到各种烦恼,到心力交瘁,到暴走狂燥,最后只是一脸无奈,谁让你太弱了。
好不容易搞掂后,我又把它们卸了!!就是为了再熟悉一次。如此自虐的行为,我也很少干,必须记录下来。
新到手阿里云服务器,oh, fresh meat.....找了好一阵,居然没有FTP和数据库的地址和密码?这服务太差了,还要问客服么?百度一下,瞬间为自己的无知感动:这些东西在虚拟机是配置好的,但云服务器没有!!很好,博主接受挑战。这些东西现在我是不会搞的,一两个小时后不就会了吗?(太天真了,事实上是一天)
看到很多博客都建议用tar包安装,但这样就要用本地windows下载后,上传到服务器,再安装。堂堂linux安装个软件竟然要依赖windows,Linus大神一定不会同意的,所以我决定用yum。
FTP
按照这两篇博文做就可以了:
安装vsftp,本文采用yum安装 http://blog.csdn.net/jiafu1115/article/details/7621303
linux下建ftp用户,并限制用户访问路径 http://blog.csdn.net/wwww1988600/article/details/7263487
这里有个坑,设置完权限后怎样弄都不生效,后来把心一横,reboot,搞掂了。
Apache
我想当然地输入#yum install apache,返回Nothing to do。一搜就知道,应该是#yum install httpd, 一下就装完了,so easy。至于apache和httpd是什么关系,也搜一下吧。
#rpm -qa | grep httpd,能找到httpd,但用#service httpd start会报错Could not reliably.......,还要配置一下。
#vi /etc/httpd/conf/httpd.conf, 加入一行ServerName localhost:80,另外,搜索DocumentRoot,修改后面的路径,可以指定服务器要目录,默认为"/var/www/html"。
查看命令#service httpd status,返回is running,能正常运行了。
#chkconfig --level 2345 httpd on,加上开机自动启动,搞掂。
PHP
#yum install php,装完了,重启apache, #servic httpd restart,打开phpinfo,毫无压力。
MySQL
#yum install mysql,一键装完。
至此,我以为已经大功告成,其实真正的坑才出现。
运行了一个php文件,能echo出东西,但运行到mysql_connect()就停了,也没报错。于是我故意把函数名写错,还是没报错,肯定是错误提示有问题。#vi /etc/php.ini(改得多就发现了所有的配置文件都在 /etc),把display_errors=Off 改成 On。
然后报错:Call to undefined function mysql_connect()。什么?这个函数我都用了N次了,现在告诉我undefined?又是一阵狂搜,找到博客说是因为缺少php-mysql,那就#yum install php-myql。我还以为PHP和mysql是天生一对,原来也要后天培养的。
接着报错:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock',完全不懂什么意思,反正也百度。但这个坑比较大,很多博客的方案是修改权限和socket,不管用,但我发现有人提到mysql-server,于是尝试一下#yum install mysql-server,竟然安装成功了(我就不懂为什么安装mysql的时候不带上这货)....开启mysql服务,#service mysqld start,加上开机自动启动#chkconfig --level 2345 mysqld on。为什么从mysql变成mysqld,d是守护进程的意思,这概念我还不很懂,反正这样就行了。
最后是用navicat远程访问服务器mysql,我想当然地输入账号密码登录,也理所当然地接连失败,因为服务器mysql未开启远程访问。
mysql>use mysql;
>update user set host='%' where user='root';
>grant all privileges on *.* to root@'%' identified by '123456' with grant option;
>flush privileges;
这样能用www远程登录了。
其实整个过程,一齐顺利的话,不到一个钟就要搞完。但意外总是层出不穷,处理问题的能力就能体现一个人的水平。今天的踩坑犯错就是为了明天的游韧有余。