当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于http服务器的
帖子发表于 : 2009-09-13 14:45 

注册: 2009-09-02 18:11
帖子: 41
送出感谢: 0 次
接收感谢: 0 次
为什么我装了apache2了之后没有发现httpd服务呢。apache2到是有一个,但不知道是不是httpd的。我启动apache2时说失败有那位前辈给我解答一下吗?
* Starting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[fail]


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 关于http服务器的
帖子发表于 : 2009-09-13 15:10 

注册: 2009-09-02 18:11
帖子: 41
送出感谢: 0 次
接收感谢: 0 次
各位前辈可怜我这小娃吧。为了这个我都奋斗了好几天了。知道的就为我答下吧 :em19


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 关于http服务器的
帖子发表于 : 2009-09-13 16:14 
头像

注册: 2009-03-19 9:19
帖子: 1423
地址: 江苏
送出感谢: 0 次
接收感谢: 2
Ubuntu 官方文档中文翻译版
在 ubuntu 下搭建 Apache+MySQL+PHP 开发环境
Translated by haria1988
这个教程是帮助人们在 Ubuntu 上搭建一个 LAMP(Linux+Apache+MySQL+PHP)服务器,使用
如下软件:apache2,PHP5(在 ubuntu6.10 或更低版本使用 PHP4),MySQL4.1 或者 5.0。
在这里我针对 ubuntu7.04 及以后版本适用的步骤进行翻译。
在 ubuntu7.04 以后的版本中安装默认的 LAMP 开发环境
在 7。04 以后的版本中,ubuntu 基本系统己经包含了 Tasksel,你即可以使用 tasksel 安装
LAMP 也可以通过指定一些列的软件包来安装 LAMP.
使用 tasksel 命令如下:
sudo tasksel install lamp-server
通过指定软件包安装,使用如下命令:
sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server
如何卸载 LAMP 开发环境
卸载 LAMP 开发环境,你需要卸载下面这些包:(在这里假定没有其他程序依赖于这些包,你可以先
测试卸载一下,以防止你想要的软件被卸载)
sudo apt-get remove apache2 apache2-mpm-prefork apache2-utils apache2.2-common
libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl
libmysqlclient15off libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.0
mysql-common mysql-server mysql-server-5.0 php5-common php5-mysql
如果想同时删除所有的配置文件的话,那么可以加上—purge 参数。想要删除对 apache 的所有的
配置参数,可以在卸载了该软件包之后,手动删除/etc/apache2 目录。
安装 apache2
使用如下命令安装 apache2:
sudo apt-get install apache2
apache 问题解决
如果你遇到如下错误:
apache2: Could not determine the server's fully qualified domain name, using
127.0.0.1 for ServerName
那么可以使用一个文本编辑器创建一个新的文件,例如在命令行下使用 sudo nano 或者在桌面应用
中使用 gksudo gedit;创建文件使用如下命令:
sudo nano /etc/apache2/conf.d/fqdn or gksu "gedit /etc/apache2/conf.d/fqdn"
然后在文本中添加信息如下:ServerName localhost
之后保存关闭并退出这些步骤可以通过如下一个简单的命令完成:
echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn
Ubuntu 官方文档中文翻译版
虚拟主机
apache2 中有多站点的概念 apache2 将分别读取他们的单独的配置文件这些文件存放
在/etc/apache2/sites-available 目录下.默认情况下有一个名叫 default 的可用站点,这就是你
在浏览器中输入 http://localhost 或者 http://127.0.0.1 看到的内容。apache2 允许你有使用
多种不同的站点配置并在你需要的时候激活它。作为一个例子。我们想把默认的站点设置
在/home/user/public_html/下.为了达到这样的效果我们必须首先建立一个新站点并在 apache2 中
激活它。
建立一个新站点,按照以下步骤操作:
• 复制默认的站点来作为新站点的开端.使用如下命令:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-
available/mysite
• 在文本编辑器中编辑一个新的配置文件,例如:
gksudo gedit /etc/apache2/sites-available/mysite
• 改变 DocumentRoot 属性到新的地点,例如: /home/user/public_html/
• 改变指令目录,把 <Directory /var/www/>目录替换为<Directory
/home/user/public_html/>
• 你也可以对每个站点分别设置日志文件,修改 ErrorLog 和 CustomLog 指令,这一步是可选的 ,
但是当你有很多的站点时这样做是便捷的。
• 保存文件
现在我们要做的就是撤销对旧站点的激活,转而激活新的站点。Ubuntu 提供了两个小的应用指令来
管理这项事务:a2ensite (apache2enable site)和 a2dissite (apache2disable site)
使用如下命令来完成上述操作:
sudo a2dissite default && sudo a2ensite mysite
最后让我们重启 apache2:
sudo /etc/init.d/apache2 restart
如果你没有创建/home/user/public_html/文件目录,你将收到一个警告消息
测试新的站点,在/home/user/public_html/目录下创建一个新的文件,使用如下简洁命令:
echo '<b>Hello! It is working!</b>' > /home/user/public_html/index.html
最后,通过浏览器访问 http://localhost/
安装 PHP5
使用如下命令安装 PHP5:
sudo apt-get install php5
如果 PHP4 已经安装在你的系统上了,那么还需要安装以下软件包:
Ubuntu 官方文档中文翻译版
sudo apt-get install libapache2-mod-php5
PHP 5 问题解决
当你访问 php 文件的时候,你的浏览器总是问你是否要下载 php 文件而不是显示它吗?如果你的
Apache2 在你重启后依然不能解析 php 文件,那么你需要安装 libapache2-mod-php5 软件包。. 它
在你安装 php5 软件包的时候就已经安装了,但是或许被一些运行其他版本的 php 的软件包在不经意间卸
载了。 你可能还需要使用如下命令激活它: sudo /etc/init.d/apache2 restart 之后运行 sudo
a2enmod php5. 如果 sudo a2enmod php5 返回了一个 "$ This module does not exist!", 你
需要删除 libapache2-mod-php5 软件包及其配置文件(加上 purge 参数)并重新安装它。在重新测
试你的站点之前请先清空你的浏览器缓存。
安装带 PHP5 支持的 MySQL
使用如下命令安装带 PHP5 支持的 MySQL 数据库:
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
安装完 PHP 之后
你可能需要增加 PHP 用于脚本的内存限量。编辑 /etc/php5/apache2/php.ini 文件并且增加
memory_limit 的值。
安装完 MySQL 之后
设置 MySQL 的绑定地址
在你试图从网络上的其他机器访问数据库之前,你需要修改 MySQL 的绑定地址。注意这可能会引起安
全问题,因为这样做之后你的数据库就能够被除了你之外的其他计算机访问了。如果你的应用程序和数
据库在一台机器上请跳过这一步。
执行如下命令完成配置:
sudo vim /etc/mysql/my.cnf
修改这一行代码:
bind-address = localhost
把 localhost 修改为你自己的内部 IP 地址; e.g. 192.168.1.20
bind-address = 192.168.1.20
如果你的 IP 地址是动态分配的,你也可以注释掉 bind-address 这一行,这样默认为当前 IP。如
果你试图在没有修改 bind-address 的情况下访问数据库,你将看到这样一条错误消息: "Can not
Ubuntu 官方文档中文翻译版
connect to mysql error 10061".
设置 MySQL 的超级用户密码
在你通过控制台访问数据库之前你需要在其中键入以下命令:
mysql -u root
在 MySQL 控制台键入:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
成功运行 MySQL 命令将返回如下结果:
Query OK, 0 rows affected (0.00 sec)
Mysql 命令能够跨越数行。请不要忘记在用分号结束每一个命令。
注意:如果你已经为 root 设置了密码,你将使用如下命令登录 MySQL:
mysql -u root -p
创建一个 MySQL 数据库
在控制台下输入以下命令:
mysql> CREATE DATABASE database1;
创建一个 MySQL 用户
要想创建一个具有所有权限的新用户 (只在问题处理时使用),在 mysql 提示符下键入:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword'
WITH GRANT OPTION;
要想创建一个具有一定权限的新用户 (可以用于绝大多数网络应用)并且只能使用指定的数据库,在
mysql 提示符下键入:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY
TABLES, LOCK TABLES ON database1.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword';
yourusername 和 yourpassword 可以是任何你想使用的字符。 database1 是你允许新用户使用的
数据库的名字。localhost 是访问你的数据库的地址。你可以把它修改成 '%' (或者是主机名或 Ip 地
址)来允许任何地址向数据库的连接 (或指定地址)。
注意:这样做将会导致安全问题,所以你只能将它用于测试目的!
想要退出 MySQL,在提示符后键入如下命令:
mysql> \q
Ubuntu 官方文档中文翻译版
当 root 密码被设置之后,如果你需要再次使用 MySQL(使用 MySQL root 登录)你需要使用如下
命令:mysql -u root -p ,之后在提示符后输入你的密码。
备份设置
让我们说说 MySQL 存储数据库信息的地方和怎样配置一个备份吧!
你很多方法可以设置 mysql 的 root 密码和创建一个新的数据库。例如: mysqladmin 可以使用如
下命令:
mysqladmin -u root -p password yourpassword

mysqladmin -u root -p create database1
mysqladmin 是一个 LAMP 默认安装的一个命令行工具。
Phpmyadmin 和 mysql-admin
所有的 mysql 任务包括设置 root 米阿明和创建新的数据库,都可以通过一个图形界面来完成,通
常使用的有 phpmyadmin 或者 mysql-admin.
想要安装其中之一或者两者,首先需要启用 universe 源
使用如下命令安装:
sudo apt-get install phpadmin
Phpmyadmin 和 mysql-admin 问题解决
如果你遇到了这样的问题:blowfish_secret error:请在 etc/phpmyadmin/
blowfish_secret.inc.php 文件上为其设置一个密码并拷贝该行(不是 PHP 标记行)到
/etc/phpmyadmin/config.inc.php 文件,否则你将看到上述错误。
编辑 Apache 配置文件
你可能希望你的当前用户是 PHP 页面的管理员。要这样做,需要编辑 Apache 的配置文件:
sudo gedit /etc/apache2/apache2.conf
查找以 "User"和"Group"开头的行,修改这些行把它设置成你当前的用户名和组名。之后你需要重
启 Apache. (具体步骤请看下面的 apache 命令)配置选项依赖于指定的站点(通过
localhost/~username 访问)在/etc/apache2/mods-enabled/userdir.conf 中。
运行,停止,测试和重启 Apache
使用如下命令来运行 Apache :
Ubuntu 官方文档中文翻译版
sudo /usr/sbin/apache2ctl start
使用如下命令来停止运行它:
sudo /usr/sbin/apache2ctl stop
配置改变时,测试运行配置:
sudo /usr/sbin/apache2ctl configtest
最后重启 Apache 使用如下命令 :
sudo /usr/sbin/apache2ctl restart
使用 Apache
你可以通过在你的浏览器地址栏中输入 127.0.0.1 或者 http://localhost 来访问 apache。默认
的 apache 服务器页面存放地址为 /var/www .它需要 root 权限才可以向其中添加文件 ,一种简单的
做法是在命令行下以 root 权限启动一个文件浏览器:
sudo nautilus
或者
如果你想要把/var/www 变成你自己拥有. (该方法只能用于测试服务器,具有安全问题)你可以使
用如下命令:
sudo chown -R $USER:$USER /var/www
状态
测试你的 PHP 是否被启用,使用如下命令新建一个文件:
sudo gedit /var/www/testphp.php
在其中加入如下行:
<?php phpinfo(); ?>
打开浏览器在地址栏键入如下地址 127.0.0.1/testphp.php 或者 http://localhost/testphp.php
Apache 的安全
如果你只想作为一个开发服务器来运行你的 Apache 并且想阻止尝试监听进入的连接,这一点很容易
通过以下命令做到 :
sudo gedit /etc/apache2/ports.conf
password:
修改 ports.conf 使之包含以下行:
Ubuntu 官方文档中文翻译版
Listen 127.0.0.1:80
保存配置并重启 Apache 现在你的 Apache 将只为你的本地域工作:http://127.0.0.1 or
http://localhost.
使用密码保护一个目录
有两种方式使用密码来保护指定的目录.推荐使用的方法是编辑/etc/apache2/apache2.conf 文
件. (需要 root 权限才能访问)另外的方法是在你需要保护的目录里编辑一个.htaccess 文件 (你需要
访问那个目录)。
缩略图
如果你定位你的浏览器到一个目录 而不是一个指定的文件,并且这个目录里没有 "index.html"
文件, Apache 将自动产生一个当前目录下所有文件和文件夹的索引文件,每一个文件夹旁边有一个小的
文件夹图标。
已知问题
和 skype 不兼容
Skype 使用 80 端口接收进入的呼叫,这样就可能阻塞 Apache. 解决办法是改变两个应用中的一个
使用的端口。通常 81 端口是未使用的并且可以很好的工作。修改 Skype 的端口号:在 Skype 中选择工
具-》选项,之后点击高级标签在接入 呼叫的端口上填入你想用的端口就可以了。


附件:
ubuntu下搭建Apache+MySQL+PHP开发环境.pdf [132.9 KiB]
被下载 14 次


_________________
页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译