解析阿里云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 相关文章推荐
session 的生命周期是多长
Oct 09 PHP
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
PHP 简单日历实现代码
Oct 28 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
PHP生成树的方法
Jul 28 PHP
php使用gzip压缩传输js和css文件的方法
Jul 29 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
PHP微信开发之有道翻译
Jun 23 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
在laravel中实现ORM模型使用第二个数据库设置
Oct 24 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中几种常见的超时处理全面总结
2012/09/11 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
JS 控件事件小结
2012/10/31 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
AngularJS入门教程之Helloworld示例
2016/12/25 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
微信小程序progress组件使用详解
2018/01/31 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
企业业务员岗位职责
2014/03/14 职场文书
网络宣传方案
2014/03/15 职场文书
学员自我鉴定
2014/03/19 职场文书
档案保密承诺书
2014/06/03 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
小学运动会宣传稿
2015/07/23 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python