一、安装apache
root@ubuntu:~# sudo apt-get install apache2
备注:ubantu 底下的httpd.conf跟window底下有点不一样,ubantu将所有的配置文件都分散了,httpd.conf默认是空白的,用户可以自行添加。
在apache2.conf引用到了以下文件:
# 包含动态模块的配置:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
# 包含用户自己的配置:
Include /etc/apache2/httpd.conf
# 包含端口监听的配置:
Include /etc/apache2/ports.conf
# 包含一般性的配置语句片断(如编码设置):
Include /etc/apache2/conf.d/
# 包含虚拟主机的配置指令:
Include /etc/apache2/sites-enabled/
apache2的默认主目录:/var/www/
apache2的操作命令:
启动:apachectl start
重启:apachectl restart
关闭:apachectl stop
(或者apache2ctl+command,apachectl是apache2ctl的软连接,随便在什么路径下执行都可以)
至于我还看到蛮多人是用apache2 start直接启动,但我在ubuntu底下就是不行,然后再网上看到这段话,原来debian底下并不能直接执行这个命令,而跟debian有父与子关系之称的ubuntu也理所当然的不支持了。这是我个人的理解,有错误望指正,谢谢!
// httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
// 通常,httpd不应该被直接调用,而应该在类Unix系统中由 apachectl 调用
// man apache2 中介绍
// apache2 is the Apache HyperText Transfer Protocol (HTTP) server program.
// It is designed to be run as a standalone daemon process. When used like
// this it will create a pool of child processes or threads to handle requests.
// In general, apache2 should not be invoked directly,
// but rather should be invoked via /etc/init.d/apache2 or apache2ctl.
// The default Debian config-uration requires environment variables
// that are defined in /etc/apache2/envvars and are not available if apache2 is started directly.
// However,apache2ctl can be used to pass arbitrary arguments to apache2.
//
// apache2ctl = apache2 ConTroL
二、安装php
root@ubuntu:~# sudo apt-get install php5
root@ubuntu:~# sudo apt-get install libapache2-mod-php5
(php的执行方式有分work和perfork,如果你使用perfork方式安装,那么需要这个包,否则不需要。可是我查看我的apache是perfork模式,默认都是perfork,然后安装这个的时候,他说已经安装了,应该是上面已经带了吧)
root@ubuntu:~# sudo apt-get install php5-gd
之前是去官网下的包,然后上传到虚拟机里面用三步曲安装的
./configure
make
make install
可真是把我整惨了,安装的途中报了一大堆的错误,还好有网络,一个个的解,后面总算是安装完成了,结果运行时还是没有用,我彻底崩溃了,于是直接用ubantu 的 apt-get 来安装,简直爽YY,一下就安装好了,而且一个错都没报。
不过也还是有一点小问题:
1)root@ubuntu:/usr/sbin# apachectl start
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
这个问题简单,只要在httpd.conf里面加句:ServerName 127.0.1.1 就可以了
2)localhost访问php文件的时候直接显示下载,而没有自动解析
root@ubuntu:~$ cd /etc/apache2/mods-enabled/
root@ubuntu:/etc/apache2/mods-enabled$ sudo ln -s ../mods-available/php5.load php5.load
root@ubuntu:/etc/apache2/mods-enabled$ sudo ln -s ../mods-available/php5.conf php5.conf
将 mods-available(已经安装了的模块)中 php 配置文件在 mods-enabled(已经激活了的模块)中建立软连接
注意:如果 mods-available 中没有那两个文件,你的php就应该没安装成功。而ln执行时并不会报错,但ls查看的时候会显示红色。
我看到网上也有蛮多人说解决办法是在httpd.conf中加入:AddType application/x-httpd-php .php,简直是误人子弟吗。
三、安装mysql
root@ubuntu:~# sudo apt-get install mysql-server
安装好了之后直接mysql运行,这个应该不会有人出问题吧?
最好修改下密码,默认是没有密码的:
方法一:mysqladmin -u root password YOUR_PASSWORD
方法二:1、use mysql
2、UPDATE user SET Password = password ( ‘newpassword’ ) WHERE User = ‘root’;
注意:我们在更新一个字段的值是 UPDATE user SET Password = ‘newpassword’ WHERE User = ‘root’,可是对于密码,他是加密的,如果你直接这样更新,密码就变成了newpassword,然后造成你登陆不进数据库了(加密newpassword != newpassword)。而这里password(‘newpassword’),对newpassword进行了加密,然后就不存在这种情况了。不过加密的结果很奇怪,不知道是什么算法,居然有41位长,而且第一位是*。还有设置完要重启一下mysql才可以生效的。
其他应该还有蛮多吧,没试过。
mysql的操作命令:
service mysql start :启动mysql
service mysql restart :重启mysql
service mysql stop :关闭mysql
顺带安装下phpmyadmin
root@ubuntu:~# sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
装了之后访问:localhost/phpmyadmin 肯定出现:
Not Found
The requested URL /phpmyadmin/ was not found on this server.
Apache/2.2.14 (Ubuntu) Server at localhost Port 80
解决方法:ln -s /usr/share/phpmyadmin
还有一个问题就是,如果你设置了密码,你每次进phpmyadmin并不想输密码,你可以在配置文件 config.inc.php 找到密码的设置,然后修改密码(但我在配置文件里压根没看到密码设置的地方,然后我自己直接在配置文件里直接加了一条:$cfg[‘Servers’][$i][‘password’] = ‘password’;)。
卸载apache、php、mysql
一、卸载apache
1、sudo apt-get remove apache2
sudo apt-get remove apache2.2-common
sudo apt-get autoremove (此命令会自动卸载PHP)
强制卸载apche:
sudo apt-get –purge remove apache-common
sudo apt-get –purge remove apache
2、找到没有删除掉的配置文件,一并删除
清除etc下的安装文件:
sudo find /etc -name “*apache*” |xargs rm -rf
或者
sudo find /etc -name “*apache*” -exec rm -rf {} /;
分别删除apache2,apache2.2-common, apache2-mpm-work,apache2-utils,libapr1,
清除安装包:
#dpkg -l |grep apache2|awk ‘{print $2}’|xargs dpkg -P
清除工作目录:
sudo rm -rf /var/www
二、卸载php
sudo apt-get remove php5
三、卸载mysql
sudo apt-get remove mysql-server mysql-server-5.1(根据自己ubuntu版本mysql 版本会不一样)
用whereis mysql查看mysql安装在哪里,然后把目录清掉
如:rm -fr /usr/lib/mysql等
ps:AndyYang,多写点代码,多说点话吧!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/98597.html