解析阿里云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 相关文章推荐
一次编写,随处运行
Oct 09 PHP
php 动态添加记录
Mar 10 PHP
用来解析.htpasswd文件的PHP类
Sep 05 PHP
CodeIgniter生成网站sitemap地图的方法
Nov 13 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
PHP实现中文圆形印章特效
Jun 19 PHP
thinkPHP中多维数组的遍历方法
Jan 09 PHP
php微信开发之批量生成带参数的二维码
Jun 26 PHP
PHP精确计算功能示例
Nov 29 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
May 05 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
php 利用socket发送GET,POST请求的实例代码
Jul 04 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
thinkphp实现分页显示功能
2016/12/03 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
JS Array.slice 截取数组的实现方法
2016/01/02 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
react-router实现按需加载
2017/05/09 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
python Kmeans算法原理深入解析
2019/08/23 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
如何用Lucene索引数据库
2016/02/23 面试题
项目计划书范文
2014/01/09 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
2014年女职工工作总结
2014/11/27 职场文书
志愿者事迹材料
2014/12/26 职场文书
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android
MySQL派生表联表查询实战过程
2022/03/20 MySQL