Linux下apache mysql等服务修改默认端口后无法正常启动解决办法

linux下 apache 等服务修改默认端口后无法正常启动解决办法 服务器上装了两个webserver,一个是nginx 开在80端口,没有异常。另外一个是 apache 绑定的 8001 端口,可是启动服务时报错: Starting httpd: (13)Permission denied: make_sock: could not bind to address 上网查了下,找到了原因,原来罪魁祸首是 selinux 这个东西。 简单介绍一下SELinux ,全称 Security-Enhanced Linux,它是一种强制存取控制

(mandatory access control)的实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。它的作法是以最小权限原则(principle of least privilege)为基础,在Linux核心中使用Linux安全模组(Linux Security Modules)。它并非一个Linux发行版,而是一组可以套用在类Unix操作系统(如Linux、BSD等)的修改。它的开发者是美国国家安全局。

现在讲解决办法:

方法一:关闭SELinux 这是最快速直接的办法,也是很多人常用的办法,缺点是牺牲了系统的安全。 你可以彻底关闭或者将SELinux模式设置成宽容模式,两种方式都可

以。 彻底关闭方法: $ vim /etc/selinux/config 在 SELINUX=enforcing 前面加个#号注释掉它 #SELINUX=enforcing 然后新加一行 SELINUX=disabled 保存,退出,重启系统

设置成宽容模式方法: $ setenforce 0

方法二:修改SELinux 规则 查看现在的支持http的端口有哪些 $ semanage port -l|grep http 为http服务添加新的端口号 $ semanage port -a -t http_port_t -p tcp 8001 查看添加的结果 $ semanage port -l|grep http

 

第二篇:linux+apache+php+mysql

linux下安装apache与php;Apache+PHP+MySQL配置攻略

2009-09-20 18:47

1.apache

在如下页面下载apache的for Linux 的源码包

/dist/httpd/;

存至/home/xx目录,xx是自建文件夹,我建了一个wj的文件夹。 命令列表:

cd /home/wj

tar -zxvf httpd-2.0.54.tar.gz

mv httpd-2.0.54 apache

cd apache

./configure --prefix=/usr/local/apache2 --enable-module=so make

make install

安装apache至/usr/local/apache 并配置apache支持dso方式

2.php

在如下页面下载php的for Linux 的源码包

/downloads.php ;

存至/home/wj目录

命令列表:

cd /home/wj

tar -zxvf php-5.0.4.tar.gz

mv php-5.0.4 php

cd php

./configure --prefix=/usr/local/php5

--with-apxs2=/usr/local/apache2/bin/apxs

--with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-MySQL

make

make install

其中apache和mysql是根据你安装的目录名变,我的是

=/usr/local/apache2/bin/apxs 和MySQL

cp php.ini-dist /usr/local/lib/php.ini

以dso方式安装php至/usr/local/php 设置配置文件目录为

/usr/local/lib 开启mysql,xml支持

3.配置

vi /usr/local/apache/conf/httpd.conf

对apache做如下配置

#将ServerAdmin mailto:linux@linuxidc.com一行改为您的邮箱地址 #DocumentRoot "/home/httpd/html/" 此处为html文件主目录 # 同上

#Options FollowSymLinks MultiViews 为安全起见,去掉"Indexes" #

# DirectoryIndex default.php default.phtml default.php3

default.html default.htm

#

#设置apache的默认文件名次序

#AddType application/x-httpd-php .php .phtml .php3 .inc #AddType application/x-httpd-php-source .phps

#设置php文件后缀

存盘退出

vi /usr/local/lib/php.ini

#register-golbals = On

存盘退出

4.启动服务

/usr/local/apache/bin/apachectl start

5.测试

然后写个php测试页info.php:内容如下

〈?php

phpinfo();

?>

正常的话,应该能看到php的信息了,恭喜你的Apche+Mysql+PHP安装成功。

6、apache自动启动- -

下面用自启动apache为例;

自启动脚本:

/usr/local/apache/bin/apachectl start

文件位于/etc/rc.d/init.d下,名为apached,注意要可执行.

#chmod +x /etc/rc.d/init.d/apached //设置文件的属性为可执行

#ln -s /etc/rc.d/init.d/apached /etc/rc3.d/S90apache //建立软连接,快捷方式

#ln -s /etc/rc.d/init.d/apached /etc/rc0.d/K20apache

详细介绍:Apache+PHP+MySQL配置攻略

一、系统要求:

本系统在REDHAT7.2版本测试通过

二、服务器端软件要求:

1:到APACHE的网络站下载APACHE WEB SERVER /

2. 到php的网络站下载php解析器 /

3.到mysql的网站下载 mysql http://sourceforge.net/projects/mysql/

三.安装调试WEB SERVER

把以上各文件下载后放到同一个目录下,我把他们放在/usr/local下,用tar命令把个文件解包

tar zxvf apache_1.3.12.tar.gz

tar zxvf php-4.0.6.tar.gz

tar zxvf mysql-3.22.40.tar.gz

为了便于安装建议把目录该名字

#mv apache_1.3.12 apache

#mv php-4.0.6 php

#mv mysql-3.22.40 mysql

安装mysql

四.在安装web服务前可以先安装mysql

cd mysql

./configure

make

make install

根据机子的性能,编译过程要花费一定的时间,编译完成后系统默认把mysql安装在/usr/local下。

安装完成后,先把mysql的进程启起来

cd /usr/local/bin

./mysql_install_db(安装mysql的基本数据库)

./safe_mysqld & (把进程启起来并转入后台)

到这里mysql算安装完成了,试试运行./mysql看看能不能链接数据库,如果正常的话,应该可以看到这样的界面

Welcome to the MySQL monitor.Commands end with ; or g.

Your MySQL connection id is 880 to server version: 3.22.40 Type 'help' for help.

mysql>

到这恭喜你完成了mysql的安装

mysql的使用大家可以参照他的doc文档

五.整合apache、php4

这是所有工作的关键所在,也是最难的一步,可能因为版本的不同在安装过程中有这样那样的错误,大家可以根据版本信息作出相应的修改。 先cd apache

./configure

这一好象可有可无,可是我曾经因为没有作这一步而出错所以必须有这一步

cd ../php

./configure --with-mysql=/usr/local --with-apache=/usr/local/apache --enable-track-vars

make

make install

cd ../apache

./configure --activate-module=src/modules/php4/libphp4.a make

make install

这步是安装apache WEB服务,大家可以看看./configure –help自己加

入相应需要的模块,或者参照安装手册进行安装。

把php的配置文件拷贝到相应的目录下

cd ../php

cp php.ini-dist /usr/local/lib/php.ini

php.ini基本可以不用作什么修改,要修改可以参照相应的说明。

配置完PHP就该配置Apache Web SERVER了,先对httpd.conf进行配置 cd /usr/local/apache/conf

vi httpd.conf

针对php要对以下内容进行修改:

# AddType application/x-httpd-php .php

# AddType application/x-httpd-php-source .phps

把以上两行的注释符去掉,并根据实际情况确定php文档的后缀名,根据horde的需要,建议大家把第一行改成如下形式

AddType application/x-httpd-php .php .php3 .htm .phtml .php4 另外还要修改系统默认的首页类型,建议把DirectoryIndex index.htm改成这样:

DirectoryIndex index.htm index.html index.php3 index.php default.php

新版mysql+apache+php Linux安装指南

新版的老版的还是有些不同的。现在把步骤帖一下

安装步骤: 1.mysql 在如下页面下载mysql的for Linux rpm包 /downloads/down...3.52-1.i386.rpm /downloads/down...3.52-1.i386.rpm 存至/home/tmp目录 命令列表:

cd /home/tmp

rpm -ivh MySQL-3.23.52-1.i386.rpm #安装mysql server

rpm -ivh MySQL-client-3.23.52-1.i386.rpm #安装mysql client

/usr/mysql/safe_mysqld & #启动mysql server

mysql #运行mysql 客户端,并开放root用户的远程访问权限。以便调试 use mysql

update user set host = '%' where user = 'root' and host <> 'localhost'; flush privileges;

quit

至此mysql安装完成 2.apache 在如下页面下载apache的for linux 的源码包 /dist/httpd/apache_1.3.26.tar.gz

存至/home/tmp目录

命令列表:

cd /home/tmp

tar -zxvf apache_1.3.26.tar.gz

mv apache_1.3.26.tar.gz apache

cd apache

./configure --prefix=/usr/local/apache --enable-module=so

make

make install

安装apache至/usr/local/apache 并配置apache支持dso方式

3.php

在如下页面下载php的for linux 的源码包

/get_download.php?df=php-4.2.3.tar.gz 存至/home/tmp目录

命令列表:

cd /home/tmp

tar -zxvf php-4.2.3.tar.gz

mv php-4.2.3.tar.gz php

cd php

./configure --prefix=/usr/local/php

--with-apxs=/usr/local/apache/bin/apxs

--with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql

make

make install

cp php.ini-dist /usr/local/lib/php.ini

以dso方式安装php至/usr/local/php 设置配置文件目录为/usr/local/lib 开启mysql,xml支持

4.配置

vi /usr/local/apache/conf/httpd.conf

对apache做如下配置

#将ServerAdmin q3boy@younet.com一行改为您的邮箱地址

#DocumentRoot "/home/httpd/html/" 此处为html文件主目录

# 同上

#Options FollowSymLinks MultiViews 为安全起见,去掉"Indexes" #

# DirectoryIndex default.php default.phtml default.php3 default.html default.htm

#

#设置apache的默认文件名次序

#AddType application/x-httpd-php .php .phtml .php3 .inc

#AddType application/x-httpd-php-source .phps

#设置php文件后缀

存盘退出

vi /usr/local/lib/php.ini

#register-golbals = On

存盘退出

5.启动服务

/usr/local/apache/bin/apachectl start

6.备注

apache在linux下的默认最大进程数为256,无论如何修改httpd.conf都不能超过这个限制。如果想加大这个限制,在编译apache前编辑

/home/tmp/apache/src/include/httpd.h,将其中#define HARD_SERVER_LIMIT 256 一行改为#define HARD_SERVER_LIMIT 2048后再编译apache, apache 1.3.26中mod_so似乎已经不是默认模块了。编译时候需加上

--enable-module=so,我第一次编译没加此参数,结果php编译时无法找到apxs php 4.2.3中默认配置文件路径似乎变了。编译时需加上

--with-config-file-path=/usr/local/lib 参数,我第一次编译完php.ini放了n个地方都没有用。不得已。只能加上这个参数。

p.s. 不保证本文所述步骤适用于其他版本

附:相关文件下载地址

php:

/get_download.php?df=php-4.2.3.tar.gz apache:

/dist/httpd/apache_1.3.26.tar.gz

mysql server:

/downloads/down...3.52-1.i386.rpm

mysql client:

/downloads/down...3.52-1.i386.rpm

相关推荐