解析阿里云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项目打包方法
Feb 18 PHP
php set_magic_quotes_runtime() 函数过时解决方法
Jul 08 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
MySql数据库查询结果用表格输出PHP代码示例
Mar 20 PHP
php判断访问IP的方法
Jun 19 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
PHP Cookie学习笔记
Aug 23 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
PHP微信企业号开发之回调模式开启与用法示例
Nov 25 PHP
php微信公众号开发之音乐信息
Oct 20 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 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中的类-什么叫类
2006/11/20 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
PHP实现限制域名访问的实现代码(本地验证)
2020/09/13 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
使用vue-router为每个路由配置各自的title
2018/07/30 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
举例介绍Python中的25个隐藏特性
2015/03/30 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
基于python实现文件加密功能
2020/01/06 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
初中班级口号
2014/06/09 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
优秀护士事迹材料
2014/12/25 职场文书
Win11黑色桌面背景怎么办?Win11黑色壁纸解决方法汇总
2022/04/05 数码科技
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript