`
baalwolf
  • 浏览: 345241 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

安装 Apache2+PHP5+MySQL

阅读更多

Install SSH Client and Server (for my remote access)
sudo apt-get install ssh

Install Database Server
sudo apt-get install mysql-server-5.0

Install Apache HTTP Server
sudo apt-get install apache2

Install PHP5 and Apache PHP5 module
sudo apt-get install php5 libapache2-mod-php5

Restart Apache
sudo /etc/init.d/apache2 restart

Optionally, install phpMyAdmin
sudo apt-get install phpmyadmin

1、安装 Apache2+PHP5+MySQL
sudo apt-get install apache2 libapache2-mod-php5 php5 php5-gd mysql-server php5-mysql phpmyadmin
joelhy 提醒 这一步可以使用新立得来安装,同样效果。
打开新立得,编辑 –> 使用任务分组标记软件包 –> 勾选 LAMP Server
然后再单独安装 phpmyadmin
sudo apt-get install phpmyadmin
2、启用 mod_rewrite 模块
sudo a2enmod rewrite
3、配置 apache2.conf
sudo gedit /etc/apache2/apache2.conf
去掉 AddHandler cgi-script .cgi 前的注释 “#”。
然后在任意地方添加这么一段:
<Virtualhost localhost>
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /var/www/cgi-bin/>
Options ExecCGI
</Directory>
</Virtualhost>重启服务器
sudo /etc/init.d/apache2 restart
搞定。
说明:PHP 程序放 /var/www/ 下面都可以,CGI 程序放 /var/www/cgi-bin/ 下面。
是不是太简单了,除去下载的时间,要不了一分钟就可以完成配置,在 Ubuntu 上还需要 APM 包吗?还是记住以下几个命令和位置就行了。
sudo /etc/init.d/apache2 restart (重启 apache)
sudo gedit /etc/php5/apache2/php.ini (配置 php.ini)
sudo gedit /etc/apache2/apache2.conf (配置 apache2.conf)
/var/www/(主目录位置)
Q: ERROR 1130 (00000): Host X is not allowed to connect to this MySQL server
A: 这种问题一般出现在远程登录数据库的时候。原因是由于连接mysql数据库的用户名的权限不够,可以在服务器上用root用户登录,查看mysql数据库的user表,修改对应用户的host列的值为%(默认的为localhost)。相应的sql语句为:
use mysql;
update user set host='%' where user='connect name';
flush privileges;
exit
Q:
Ubuntu 下安装phpmyadmin 却无法使用
A: 安装phpmyadmin命令:sudo apt-get install phpmyadmin
默认安装在 /usr/share/phpmyadmin
作个链接到 /var/www/ 目录下,命令为:sudo ln -s /usr/share/phpmyadmin/ /var/www/
再使用 http://localhost/phpmyadmin 即可以访问了。
Q: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
A:这是一个 warning,出现在apache2启动或重起时。主要是因为在配置 apache2 时,没有指定相应的主机名,即 ServerName。修改 /etc/apache2/httpd.conf , 在最前加入 ServerName localhost:80 即可。
Q: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
A:这是由于在页面中使用 session_start() 的位置没有放对,按官方文档的说法:If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser
所以,可以把<?php session_start();?>放在页面的最前面即可,注意<?php 前不要有空格。
Q: Warning: Cannot modify header information - headers already sent
A:由于在页面中使用了 header() ,按官方文档 的说法: Remember that header()must be called before any actual output is sent, either by normal HTMLtags, blank lines in a file, or from PHP. It is a very common error toread code with include(), or require(), functions, or another fileaccess function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
另外对于 header("Location:") 的用法,在下一行用exit;以使后面的内容不会被执行。
如:
<?php
header("Location:
http://www.example.com/"); /* Redirect browser */
/* Make sure that code below does not get executed when we redirect. */
exit;
?>



=========================================================================
在ubuntu里安装LAMP一向很顺利
在新立得里选择“编辑” “使用任务分组标记软件包”
勾选“LAMP SERVER”
等待.......
下载.......
提示输入mysql的密码
按照ubuntu中文wiki里设置,一般都没有问题。
后来重装过一次系统,再次配置LAMP,问题就频频发生了....也许是因为之前的配置没有清理干净吧
趁着这次假期,终于把本地服务器架设起来了,参考了ubuntu官方的help,发现国内的一些教程和国外的有一些不一样,把这些不一样的总结出来:
一 准备工作
如果之前系统里没有安装过LAMP,执行
代码:
sudo apt-get update

如果之前系统里安装过LAMP 要保证系统里有关apache2,php5,mysql都彻底删除干净,在新立得软件包管理器里分别搜索php5,apache2,mysql把安装的软件包以及依赖包彻底删除
也可以用命令行
代码:
sudo apt-get remove --purge apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.0 mysql-common mysql-server mysql-server-5.0 php5-common php5-mysql
sudo rm -R /etc/php5

执行:
代码:
sudo apt-get autoremove
sudo apt-get autoclean

二 安装LAMP
可以在新立得里勾选 LAMP SERVER 也可以分步安装
代码:
sudo apt-get install apache2
sudo apt-get install php5
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

三 疑难解决
1. apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
代码:
sudo gedit /etc/apache2/conf.d/fqdn

在这个文件中加入:
代码:
ServerName localhost

保存,退出,执行命令:
代码:
echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

终端显示:
代码:
ServerName localhost

表明设置成功
2. 设置其他文件夹到本地服务器中
在apache2里,默认的文件夹为/var/www
此文件夹为超级用户拥有,普通用户不能写入,可以把此文件夹的权限修改
代码:
sudo chmod -R 777 /var/www

也可以重新设置一个文件夹:
代码:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite

编辑配置文件
代码:
sudo gedit /etc/apache2/sites-available/mysite

把配置文件里的DocumentRoot 修改为你需要的新位置,比如: /home/username/www/
把<Directory /var/www/> 替换为<Directory /home/username/www/>
保存,退出
执行:
代码:
sudo a2dissite default && sudo a2ensite mysite

重启apache2
代码:
sudo /etc/init.d/apache2 restart

在浏览器里输入http://localhost
3. 无法解析php文件,浏览器提示下载所要打开的php文件
执行:
代码:
sudo apt-get install libapache2-mod-php5
sudo a2enmod php5

如果显示为:
代码:
This module does not exist!

那就要彻底删除libapache2-mod-php5,然后重新安装它
代码:
sudo apt-get remove --purge libapache2-mod-php5
sudo apt-get install libapache2-mod-php5

重启apache2
代码:
sudo /etc/init.d/apache2 restart

清除浏览器缓存,然后输入http:localhost
4. 安装phpmyadmin
建议不要从源里安装
在phpmyadmin网站上下载软件包,解压缩到本地目录/var/www/phpmyadmin(/home/user/www/phpmyadmin)
在终端下执行:
代码:
sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
sudo gedit /var/www/phpmyadmin/config.inc.php

找到“blowfish_secret”在后面填上任意字母
$cfg['Servers'][$i]['auth_type']='cookie';
$cfg['Servers'][$i]['host']='localhost';
$cfg['Servers'][$i]['connect_type']='tcp';
$cfg['Servers'][$i]['compress']='false';
$cfg['Servers'][$i]['extension']='mysql';
保存,退出
安装php5-mcrypt
代码:
sudo apt-get install php5-mcrypt

编辑php配置文件
代码:
sudo gedit /etc/php5/apache2/php.ini

在extension下面加上
代码:
extension=php5-mcrypt.so

保存,重启apache2
在浏览器里输入http://localhost/phpmyadmin


问题1,2的解决方法与国内的教程不太一样,所以翻译过来
问题3,4是我自己遇到的问题,按照上面的方法都已解决
原文链接:https://help.ubuntu.com/community/ApacheMySQLPHP?
欢迎补充...
PS:此配置不能安装wiki里的pdo,安装之后,apache会出现不明原因的不能启动,暂时不知道如何解决.....
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics