1,注意,这里建立两个目录:
/usr/local/src/apache/ 为源码目录 /usr/local/apache-2.2.22/ 为安装目录
#创建源包存放的目录 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
#进入源码目录 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
#编辑ServerName为ServerName localhost:80 vi /usr/local/apache-2.2.22/conf/httpd.conf
#注意:小于1024的端口(如80)需要sudo权限来启动apache apache_dir/bin/apachectl [start|stop|restart]
6,其默认主页位置:
vi /usr/local/apache-2.2.22/htdocs/index.html
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
一个小陷阱。
如果用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 是一个很好的选择。这相当于一个房间的前后门,前门和后门都可以进入到房子里。
坑爹呀!!!!