ubuntu安装apache php mysql phpmyadmin及卸载等操作

AndyYang| 阅读:3533 发表时间:2012-07-07 19:02:00 linux
摘要:ubantu 底下的httpd.conf跟window底下有点不一样,ubantu将所有的配置文件都分散了,httpd.conf默认是空白的,用户可以自行添加。

一、安装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,多写点代码,多说点话吧!

本文为AndyYang原创,转载请注明出处!
如果您觉得好,可以打赏作者:

已有1条评论

昵称:
邮箱:

  • 最新评论

12017-05-25 23:11:06
为什么没有卸载phpmyadmin的呢?
2017-05-27 12:33:28 (管理员回复)
phpmyadmin是web站点,直接删除整个目录就好,rm -fr phpmyadmin
若兰网 - www.rolan.wang
反馈
微信订阅号