解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql


Posted in PHP onJune 26, 2013

此教程中使用的相关IP等设置,在你的环境中要做相应修改。
使用之前更新apt-get,因为服务器基本上是一个裸系统
apt-get update;
apt-get upgrade;
1 我们使用root账户进行安装,首先切换到root账户,输入命令:
sudo su

2 安装 MySQL 5
输入命令:
apt-get install mysql-server mysql-client
安装过程中需要设置root账户密码,系统会作以下提示:
New password for the MySQL ”root” user:Repeat password for theMySQL ”root” user:

3 安装 Apache2
输入命令:
apt-get install apache2
在浏览器输入你服务器地址列入 http://192.168.0.100查看Apache2是否工作,如果显示(Itworks!),说明已经工作。
Apache 在 Ubuntu 中默认文档根目录为 /var/www,配置文件/etc/apache2/apache2.conf,额外配置存储子目录 /etc/apache2 例如/etc/apache2/mods-enabled (为 Apache 模块), /etc/apache2/sites-enabled(为虚拟主机 virtual hosts), 和 /etc/apache2/conf.d.

4 安装 PHP5
安装 PHP5 和 Apache PHP5 模块:
apt-get install php5 libapache2-mod-php5
(如果有安装的内容找不到,需要更新apt-get,执行apt-get update)
然后重启apache:
/etc/init.d/apache2 restart

5 测试 PHP5 / 可以建立一个探针页面
vi /var/www/info.php
输入下面的内容:
<?php
phpinfo();
?>
然后打开浏览器访问 (http://127.0.0.1/info.php):
你可以看到一些已经支持的模块。

6 为PHP5取得 MySQL 支持
我们需要安装 php5-mysql,先查看一下php5的模块
apt-cache search php5-mysql
php5-mysql - MySQL module for php5
php5-mysqlnd - MySQL module for php5 (Native Driver)
然后安装所需模块,例如下面的命令:
apt-get install php5-mysql
apt-get install php5-mysqlnd
sudo apt-get install php5 libapache2-mod-php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-mysql php5-pgsql
sudo a2enmod php5

差什么php5的模块,就安装php5的模块,ubuntu的php5安装module还是很方便的
以下模块自己选择安装,有些模块不一定正确
apt-get install php5-mysql php5-curl php5-gd php5-intlphp-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mingphp5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidyphp5-xmlrpc php5-xsl
重启 Apache2:
/etc/init.d/apache2 restart
然后刷次你 http://127.0.0.1/info.php 查看模块支持是不是已经增加了。

7 phpMyAdmin
安装phpmyadmin来管理mysql:
apt-get install phpmyadmin
phpmyadmin设置:
在安装过程中会要求选择Web server:apache2或lighttpd,选择apache2,按tab键然后确定。然后会要求输入设置的Mysql数据库密码连接密码Password of the database's administrative user。
然后将phpmyadmin与apache2建立连接,以我的为例:www目录在/var/www,phpmyadmin在/usr/share /phpmyadmin目录,所以就用命令:sudo ln -s /usr/share/phpmyadmin /var/www建立连接。
phpmyadmin测试:在浏览器地址栏中打开http://localhost/phpmyadmin。
Phpmyadmin访问地址:http://127.0.0.1/phpmyadmin/

以上LAMP的基本组件就安装完毕了,下面我们再来看一些其他的设置:
设置Ubuntu文件执行读写权限
LAMP组建安装好之后,PHP网络服务器根目录默认设置是在:/var/www。由于Linux系统的安全性原则,改目录下的文件读写权限是只允许root用户操作的,所以我们不能在www文件夹中新建php文件,也不能修改和删除,必须要先修改/var/www目录的读写权限。在界面管理器中通过右键属性不能修改文件权限,得执行root终端命令:sudo chmod 777 /var/www。然后就可以写入html或php文件了。如果对777表示的文件权限不是很清楚可参考chmod命令。

配置Apache
1启用mod_rewrite模块
终端命令:sudo a2enmod rewrite
重启Apache服务器:sudo /etc/init.d/apache2 restart
Apache重启后我们可以测试一下,在/var/www目录下新建文件test.php,写入代码:<?php phpinfo(); ?>保存,在地址栏输入http://127.0.0.1/test.php或http://localhost/test.php,如果正确出现了php配置信息则表明LAMP Apache已经正常工作了(记得重启Apache服务器后再测试)。

2设置Apache支持.htm .html .php
sudo gedit /etc/apache2/apache2.conf
在打开的文件中加上
AddType application/x-httpd-php .php .htm .html即可。
配置Mysql测试
上面php,Apache都已经测试过了,下面我们再测试一下Mysql数据库是否已经正确启用。
在/var/www目录下新建mysql_test.php:

<?php
$link = mysql_connect(“localhost”,”root”,”020511″);
if (!$link)
{
die(‘Could not connect: ' . mysql_error());
}
else echo ”Mysql已经正确配置”;
mysql_close($link);
?>

保存退出,在地址栏输入http://127.0.0.1/mysql_test.php,显示”Mysql已经正确配置”则表示OK了,如果不行,重启Apache服务器后再试一下。
配置php5
sudo gedit /etc/php5/apache2/php.ini修改允许最大使用内存,查找
memory_limit = 8M修改为
memory_limit = 32M
修改允许最大上传尺寸,查找
upload_max_filesize = 2M修改为
upload_max_filesize = 8M
允许mysql和gd模块,检查文件最后是否包含下面的代码,如果没有添加上。(默认是在配置文件最后有添加的,检查一下以防万一)
extension=mysql.soextension=gd.so保存并关闭文件。
若出现乱码,解决方法如下:
配置apache字符编码:
sudo gedit /etc/apache2/conf.d/charset
将里面的内容改为AddDefaultCharset UTF-8
配置php字符编码:
sudo gedit /etc/php5/apache2/php.ini
找到
代码:
default_charset = “iso-8859-1″
改为
代码:
default_charset = “UTF-8″
然后重启apache:
代码:
sudo /etc/init.d/apache2 restart
 
PHP 相关文章推荐
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
php数组函数序列之in_array() 查找数组值是否存在
Oct 29 PHP
thinkphp3查询mssql数据库乱码解决方法分享
Feb 11 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
php ci框架中加载css和js文件失败的原因及解决方法
Jul 29 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
php短网址和数字之间相互转换的方法
Mar 13 PHP
php动态生成缩略图并输出显示的方法
Apr 20 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
PHP微信刮刮卡 附微信接口
Jul 22 PHP
php use和include区别总结
Oct 13 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 #PHP
Youku 视频绝对地址获取的方法详解
Jun 26 #PHP
解析php 版获取重定向后的地址(代码)
Jun 26 #PHP
php连接函数implode与分割explode的深入解析
Jun 26 #PHP
解析PHP正则提取或替换img标记属性
Jun 26 #PHP
php 在windows下配置虚拟目录的方法介绍
Jun 26 #PHP
关于PHP自动判断字符集并转码的详解
Jun 26 #PHP
You might like
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
php类自动加载器实现方法
2015/07/28 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
『jQuery』.html(),.text()和.val()的概述及使用
2013/04/22 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
Angular实现form自动布局
2016/01/28 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
JS正则表达式常见用法实例详解
2018/06/19 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
[01:46]新英雄登场
2019/09/10 DOTA
python实现批量修改文件名代码
2017/09/10 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
python如何在列表、字典中筛选数据
2018/03/19 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
别名指示符是什么
2012/10/08 面试题
马智宇婚礼主持词
2014/03/22 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
2014高三学生考试作弊检讨书
2014/12/14 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
2019大学生实习报告
2019/06/21 职场文书