ubuntu 安装好以后,就需要弄apache,mysql,php环境了。
曾尝试自己编译apache,php,mysql,最终以失败告终。最后直接使用ubuntu的工具吧lamp安装上。
1、使用tasksel工具安装lamp。
在终端运行命令sudo tasksel
(PS:如果提示tasksel没有安装,请使用sudo apt-get install tasksel 进行安装即可)
在弹出的界面中选择 lamp server一项(使用向下的箭头,到lamp server一项的时候,点击空格选择,就会在选项的前面出现一个“*”),然后点击enter进行安装。
安装的时候会到网上现在相关软件,所以需要联网。下载完成以后就开始安装amp环境,安装mysql的时候 会让输入root的密码(这个是mysql root用户的密码),会要求输入两次。
输入两次以后,tasksel会完成剩余的所有操作。
安装好以后 打开firefox浏览器,输入 http://localhost/ 会出现apache的欢迎信息。
2、安装好lamp以后 就选择根据自己的情况进行相应的配置了。
i、为apache配置虚拟主机
执行命令sudo gedit /etc/apache2/sites-available/mysite
(PS:注意,文件名称不能包含"."和"#"否则apache不会加载)
生成一个mysite文件,在文件中如如下内容
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/mysite
ServerName www.mysite.com
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /home/jeff/www/1.5.14>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
保存文件。
在编辑/etc/hosts文件,
sudo gedit /etc/hosts
在hosts文件中追加
127.0.0.1 www.mysite.com
现在重启apache
sudo /etc/init.d/apache2 restart
配置项都弄好来,现在 就在/var/www目录下面添加一个mysite的文件夹
默认/var/www目录下面是没有写权限的,为了方便 我直接将/var/www目录的权限修改为777了(sudo chmod -R 777 /var/www)
进入到/var/www目录 创建文件夹 mysite
cd /var/www
mkdir mysite
cd mysite
在mysite文件夹下面创建一个index.php的文件,并编写内容
gedit index.php
输入内容
<?php
echo 'Hello world!';
保存。
在firefox输入 http://www.mysite.com 就可以看到这个著名的Hello world!了。
ii、为apache 开启ssi功能
apache是自带来 ssi功能的。我们只需要简单的enable,然后配置下就行了。
执行命令
sudo ln -s /etc/apache2/mods-available/include.load /etc/apache2/mods-enabled
修改配置文件
sudo gedit /etc/apache2/sites-available/mysite
将mysite的内容修改成下面的内容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/mysite
ServerName www.mysite.com
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /home/jeff/www/1.5.14>
Options Indexes FollowSymLinks +Includes
AllowOverride None
Order allow,deny
allow from all
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
</VirtualHost>
重启apache
sudo /etc/init.d/apache2 restart
在/var/www/mysite目录下 新建一个ssi.shtml的文件
ssi.html内容如下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>测试SSI</title>
</head>
<body>
<!--#echo var="DATE_LOCAL" -->
</body>
</html>
在firefox中输入http://www.mysite.com/ssi.shtml
如果能正常显示 本地时间,所名ssi已经配置成功了。
iii、为php添加curl的执行。
执行命令
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
重启apache
sudo /etc/init.d/apache2 restart
搞定
在我运行我们公司商城代码的时候 ,还出现了一个小问题,就是:
点击某些菜单的时候,提示 下载php文件,最终的原因是,require某些文件的时候 报错:
Warning: Call-time pass-by-reference has been deprecated - argum
导致的。
修改方式为:
打开php.ini文件,将allow_call_time_pass_reference修改为on就ok了
重启apache 一切ok。
在我运行商城程序之前,需要导入sql文件(360+M),这个sql文件是使用phpmyadmin导出的。本来想使用mysqlimprot 导入的
可以一直报错。最后使用的方法是:
在命令行输入
mysql -uroot -p 数据库名称 < sql文件
(PS:导入之前想创建好数据库,否则导入失败)
输入root的密码,就是漫长的等等来。等命令提示再次出现的时候,说明已经导入成功来。
参考:
http://www.linuxidc.com/Linux/2007-11/8828.htm
http://blog.sina.com.cn/s/blog_4c5fc69501000asw.html
http://www.myhack58.com/Article/sort099/sort0102/2011/29424.htm
http://zhidao.baidu.com/question/211359899.html