技术-Apache

1 安装

1,注意,这里建立两个目录:

/usr/local/src/apache/    为源码目录
/usr/local/apache-2.2.22/ 为安装目录

2,首先,建立并修改这两个目录权限:
#创建源包存放的目录 
mkdir -p /usr/local/src/apache/  
sudo mkdir /usr/local/apache-2.2.22
#改变该目录权限
sudo chmod 0777 /usr/local/src/apache/ -R 
sudo chmod 0777 /usr/local/apache-2.2.22  

3,在源码目录下,编译并指定安装目录,就会在安装目录下生成可执行文件

#进入源码目录
cd /usr/local/src/apache/           
#下载该文件
wget  http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.2.22.tar.gz 
#解压文件会生成httpd-2.2.22目录   
tar -xzvf httpd-2.2.22.tar.gz  
#定位到该文件夹     
cd httpd-2.2.22/
#查看安装apache配置参数  
./configure --help|more   
#配置apache安装目录
./configure --prefix=/usr/local/apache-2.2.22  --enable-so
#编译apache  
make  
#安装apache  
make install 

4,在安装目录下设置ServerName[和监听端口Listen]

#编辑ServerName为ServerName localhost:80
vi /usr/local/apache-2.2.22/conf/httpd.conf

5,启动httpd服务 

#注意:小于1024的端口(如80)需要sudo权限来启动apache 
apache_dir/bin/apachectl [start|stop|restart] 


6,其默认主页位置:

vi /usr/local/apache-2.2.22/htdocs/index.html

2 查看

ps aux | grep httpd
这样查看到如果是
[[email protected]]$pwd
/home/admin/admin/apache/bin
[[email protected]]$./apachectl stop
[[email protected]]$ps aux | grep httpd
admin     1899  0.0  0.0  61156   736 pts/9    S+   15:07   0:00 grep httpd
apache    4822  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4823  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4824  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4825  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4826  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4827  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4828  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4829  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
root      9321  0.0  0.0 181180  3920 ?        Ss   Oct22   0:00 /usr/sbin/httpd
admin    17986  0.0  0.0 132272  4944 ?        Ssl  Oct10   0:15 /apsara/KFC/kfc -c /apsara/KFC/kfc.conf -g -m httpd
[[email protected]]$./apachectl start
[[email protected]]$ps aux | grep httpd
admin     1908  0.0  0.0 101388  2988 ?        Ss   15:08   0:00 /home/admin/admin/apache//bin/httpd -k start
admin     1909  0.0  0.0 101416  2808 ?        S    15:08   0:00 /home/admin/admin/apache//bin/httpd -k start
admin     1910  0.0  0.0 101416  2808 ?        S    15:08   0:00 /home/admin/admin/apache//bin/httpd -k start
admin     1911  0.0  0.0 101416  2808 ?        S    15:08   0:00 /home/admin/admin/apache//bin/httpd -k start
admin     1912  0.0  0.0 101416  2808 ?        S    15:08   0:00 /home/admin/admin/apache//bin/httpd -k start
admin     1913  0.0  0.0 101416  2808 ?        S    15:08   0:00 /home/admin/admin/apache//bin/httpd -k start
admin     1915  0.0  0.0  61160   752 pts/9    S+   15:08   0:00 grep httpd
apache    4822  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4823  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4824  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4825  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4826  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4827  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4828  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
apache    4829  0.0  0.0 181180  2476 ?        S    Nov04   0:00 /usr/sbin/httpd
root      9321  0.0  0.0 181180  3920 ?        Ss   Oct22   0:00 /usr/sbin/httpd
admin    17986  0.0  0.0 132272  4944 ?        Ssl  Oct10   0:15 /apsara/KFC/kfc -c /apsara/KFC/kfc.conf -g -m httpd
前者是系统自带的,后者才是自己起的。日志在 bin/httpd.LOG

查看是否启动该进程:

sudo netstat -tanp | grep 0.0.0.0

关闭原来系统默认的httpd:

service httpd stop

扫描端口

nmap localhost
nmap -p 10-100 localhost

3 陷阱

一个小陷阱。

如果用80启动,则由于是用sudo起起来的,而apache默认会在httpd.conf文件中创建一个为:

User daemon
Group daemon

的用户,这个我们默认没有做过更改。但是一旦是80端口,意味着必须sudo启动,如果用该一般账户,就会遇到权限问题。所以这里需要修改为:

#User daemon
User admin
#Group daemon
Group admin
这样才能正常访问。


如果本机可以访问,而其他机器不能访问,可能是防火墙问题:

sudo service iptables stop

80端口和8080端口

这两个端口都是www服务的常用端口,80端口是默认端口,输入1.2.3.4和1.2.3.4:80是一样的。但是 Linux 下非  root 用户无法使用1024以内的端口号访问,所以需要一个与 80 有点关系的端口, 8080 是一个很好的选择。这相当于一个房间的前后门,前门和后门都可以进入到房子里。 


坑爹呀!!!!


你可能感兴趣的:(apache)