Lamp架构的搭建

Lamp架构:linux+apache+mysql+php
一、Apache的主配置文件详细解释:

Apache的主配置文件:/etc/httpd/conf/httpd.conf
具体的详细解析见本博客

Apache的配置文件的详细说明

地址:https://blog.csdn.net/weixin_43466473/article/details/88862062

二、安装apache

yum -y install httpd

vim /etc/httpd/conf/httpd.conf



ServerName 192.168.1.235:80                   #服务器主机名
PidFile run/httpd.pid                         #apache      #运行进程 ID 存放
Timeout 60                                    #超时时间,多少 s 没有反应就超时
KeepAlive Off                                 #是否允许一个永久的链接,设置为 OFF 的时候,不 能保持连接功能,
                                               传输效率比较低,设置为 ON 时,可以提高服务器传输文件的效率,建议开启
MaxKeepAliveRequests 100                      #设置 KeepAlive 为 ON 时,设置客户端每次连接允许 请求相应最大文件数,默认 100 个
KeepAliveTimeout 15                           #超时时间,同一个客户端下一个请求 15s 没收到就 超时
Listen 80                                     #监听端口,默认本地 IP,如果指定 ip 写上 IP:80
<IfModule prefork.c>
StartServers8                                 #服务开始起启动 8 个进程
MinSpareServers5                              #最小空闲 5 个进程
MaxSpareServers20                             #最多空闲 20 个进程
ServerLimit256                                #服务器允许配置进程数上线
MaxClients256                                 #最大连接数 256,超过要进入等候队列 
MaxRequestsPerChild4000                       #每个进程生存期内服务最大的请求数量,0 表示用不 结束
</IfModule>
<Directory />
Options FollowSymLinks                        #Options Indexes 目录浏览FollowSymLinks 用连接
浏览
AllowOverride None                            #设置为 none,忽略.htaccess
</Directory>
LoadModule auth_basic_module modules/mod_auth_basic.so      #载入的库,模块

Include conf.d/*.conf                         #conf.d 里面的 conf 文件也属有效配置文件
User apache                                   #运行以哪个身份运行
Group apache                                  #运行以哪个组的身份运行
ServerAdmin root@localhost                    #管理员邮箱
DocumentRoot "/var/www/html"                  #默认的主目录,如果改动要改动两处,Directory
<Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None
Order allow,deny                              #这里默认后者生效,也就是 deny 生效
Allow from all                                #这里说允许所有
</Directory>
LogLevel warn                                 #日志等级
DirectoryIndex index.html index.html.var      #首页 
AccessFileName .htaccess                      #access 文件名,也可以在这里定义伪静态、防盗链等,不建议在这个文件定义
AddDefaultCharset UTF-8                       #支持的语言,默认编码
#配置文件的最后是虚拟主机的字段

三 、安装mysql和php

yum install mysql mysql-server php php-mysql –y

测试数据库:

service mysqld start
chkconfig mysqld on
mysql  
mysql> show databases;
mysql>exit;

测试apache是否支持php

cd /var/www/html/
vim index.php 
<?php 
phpinfo(); 
?>

LAMP环境,几种不同的安全访问机制的实现:
1、修改网站目录对应参数及权限:
修改网站默认根目录,并且设置访问权限,只有在我允许的范围之内可以访问
修改网站默认根目录
设置文档目录为/var/www/html/ccc

vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/ccc"

允许所有人访问/var/www/html/bbs 目录
目录与访问控制:

<Directory "/var/www/html/bbs">                        #子目录会继承这个目录的属性
    Options  FollowSymLinks                            #Options:Indexes:目录浏览  
    AllowOverride None                                 #Followsymlinks:可以用连接
    Order allow,deny
    Allow from 192.168.5.0/24                         #从哪里来的允许  
Deny from 192.168.6.0/24                              #从哪里来的拒绝
Allow from  .baidu.com
#Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。谁写到后面,谁的优先级高。
</Directory>

2、使用别名,引用网站根目录以外的路径。
将/usr/local/phpeee目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.5.21/ phpeee/ 时,就可以访问目录/usr/local/phpeee中的内容。
注:apache的别名也叫虚拟目录
语法:
Alias URL路径 PATH物理路径

创建测试数据:

mkdir /usr/local/phpeee
echo "This Alias PHPdata" > /usr/local/phpeee/index.html
#修改配置文件:
vim /etc/httpd/conf/httpd.conf  # 在Alias下添加以下内容


Alias /phpdata/ "/usr/local/phpeee/"
<Directory "/usr/local/phpeee/">
    Options Indexes FollowSymLinks  
    AllowOverride None 
    Order deny,allow
    Allow from all
</Directory>

注:Alias /phpeee/ “/usr/local/phpeee/” #/phpeee/ 可以随意起。比如改/phpeee/ 为/php/ 则访问链接: http://192.168.5.21/php/

测试:

service httpd restart
http://192.168.5.21/phpeee/

3、当一个目录下没有默认首页时,访问http://192.168.5.21/phpeee/禁止显示目录列表

vim /etc/httpd/conf/httpd.conf # 修改内容

328 # The Options directive is both complicated and important.  Please see
329 # http://httpd.apache.org/docs/2.2/mod/core.html#options
330 # for more information.
331 #
332     Options -Indexes FollowSymLinks            ###去除Indexes或者在前面加一个减号
333  

4、通过用户认证的方式,对网站下/usr/local/phpdata/目录进行保护。 设置/usr/local/phpdata/目录,只能通过用户名密码方式访问。

vim /etc/httpd/conf/httpd.conf   #在需要使用用户验证的目录的相关Directory段落添加以下内容:

Alias /phpdata/ "/usr/local/ phpeee /"
<Directory "/usr/local/ phpeee /">
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all

authtype basic   # authtype命令:指定认证类型为:basic。
authname "my web site"  #  AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。
authuserfile /etc/httpd/conf/passwd.secret   AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。
#require user tom 
#require user tom bob
require valid-user
# require命令:指定哪些用户或组才能被授权访问。
如:
#require user user1 user2(只有用户user1和user2可以访问)
 #require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)
</Directory>

利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文

 # htpasswd -cm                                 存放用户名和密码的文件名 用户名
htpasswd -cm /etc/httpd/conf/passwd.secret tom
New password: 123456
Re-type new password: 123456
Adding password for user tom
#第一个生成用户名和密码,需要创建文件,因此需要加-c参数

htpasswd -h                                      #查看参数
-c  Create a new file.
-m  Force MD5 encryption of the password.

htpasswd -m /etc/httpd/conf/passwd.secret bob
New password: 123456
Re-type new password: 123456
Adding password for user bob
cat /etc/httpd/conf/passwd.secret                #查看内容
tom:$apr1$WJicnaIz$ejqYMmcqukEMsAVEjLcKf.
bob:$apr1$S8pXfxJh$tletPNMKd33WZXqdkSLFy0

测试:

service httpd restart
http://192.168.5.21/phpeee/

5 、配置apache虚拟主机,实现在一台服务器上运行多个网站
apache虚拟主机实现有三种方法:
通过不同的IP地址
通过不同的域名
通过不同的端口号

三种都需要把虚拟主机功能打开:
vim /etc/httpd/conf/httpd.conf

改:

#NameVirtualHost *:80

为:

NameVirtualHost *:80

方法1:
通过不同的IP地址,解析不同域名
给服务器增加IP(另一个域名解析出来的那个IP)。

ifconfig eth0:1 192.168.0.56 netmask 255.255.255.0
mkdir  /var/www/html/ccc/
echo "bbs.xuegod.cn"  > /var/www/html/ccc/index.html

修改httpd.conf
#vim httpd.conf 在文件的最后,添加以下内容

<VirtualHost 192.168.5.20:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/eee/
    ServerName dummy-host.example.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost 192.168.5.21:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/eee/
    ServerName dummy-host.example.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

测试:

 service httpd restart
http://192.168.5.20/
http://192.168.5.21/

方法二:
通过不同域名:
在域名管理后台,修改DNS配置,www.eee.com与bbs.ccc.com解析成相同的IP

修改httpd.conf

vim httpd.conf
<VirtualHost *:80>
    ServerAdmin webmaster@ccc.example.com
    DocumentRoot /var/www/html/eee/
    ServerName www.eee.com
    ErrorLog logs/www.xuegod.com-error_log
    CustomLog logs/www.xuegod.com-access_log common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@ccc.example.com
    DocumentRoot /var/www/html/eee/
    ServerName  bbs.ccc.com
    ErrorLog logs/bbs.xuegod.com-error_log
    CustomLog logs/bbs.xuegod.com-access_log common
</VirtualHost>

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.5.20   www.eee.com
192.168.5.21   bbs.ccc.com

测试:

service httpd restart
elinks www.xuegod.com 
elinks bbs.xuegod.com

方法3:基于端口配置虚拟主机:

vim /etc/httpd/conf/httpd.conf
改:
Listen 80
为:
Listen 80
Listen 81
#更改为你要添加的多个端口

再建立两个虚拟主机:
vim /etc/httpd/conf/httpd.conf # 在文件的最后添加

<VirtualHost *:80>
    ServerAdmin webmaster@eee.example.com
    DocumentRoot /var/www/html/eee/
    ServerName www.eee.com
    ErrorLog logs/www.example.com-error_log
    CustomLog logs/www.example.com-access_log common
</VirtualHost>
<VirtualHost *:81>
    ServerAdmin webmaster@eee.example.com
    DocumentRoot /var/www/html/eee/
    ServerName bbs.ccc.com
    ErrorLog logs/bbs.example.com-error_log
    CustomLog logs/bbs.example.com-access_log common
</VirtualHost>

测试:

 service httpd restart
http://192.168.5.20/
http://192.168.5.20:81/

参看文章:https://blog.csdn.net/qq_25663723/article/details/53791945

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值