解析阿里云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脚本[带参数]的方法
Jan 22 PHP
PHP中使用cURL实现Get和Post请求的方法
Mar 13 PHP
php笔记之:php数组相关函数的使用
Apr 26 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
php实现网页缓存的工具类分享
Jul 14 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
详解thinkphp中的volist标签
Jan 15 PHP
PHP微商城开源代码实例
Mar 27 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 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验证身份证号码正确性的函数
2016/07/20 PHP
PHP单例模式定义与使用实例详解
2017/02/06 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
详解Node.js中path模块的resolve()和join()方法的区别
2018/10/29 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
Python基于Tkinter的HelloWorld入门实例
2015/06/17 Python
python计算一个序列的平均值的方法
2015/07/11 Python
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
Python基础之高级变量类型实例详解
2020/01/03 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
SQL Server面试题
2013/04/04 面试题
应付会计岗位职责
2013/12/12 职场文书
优秀通讯员事迹材料
2014/01/28 职场文书
会议主持词
2014/03/17 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
开学第一周值周总结
2015/07/16 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL
Golang 入门 之url 包
2022/05/04 Golang