设为首页 收藏本站
查看: 704|回复: 0

[经验分享] LMAP--1--Apache

[复制链接]

尚未签到

发表于 2018-11-25 08:23:28 | 显示全部楼层 |阅读模式
  1.LAMP所需要的软件:
  ----httpd(提供Apache主程序)
  ----mysql(MySQL客户端程序)
  ----mysql-server(MySQL服务器程序)
  ----php(PHP主程序含给Apache使用的模块)
  ----php-devel(PHP的开发工具,与PHP外挂的加速软件有关)
  ----php-mysql(提供给PHP程序读取MySQL数据库的模块)
  2.Apache的设定:
  ----针对服务器环境的设置项目
  ####/etc/httpd/conf/httpd.conf ##############################
  ServerTokens    OS    #告诉客户端服务器的版本和操作系统,可以避免系统的信息被远程的用户查看到
  ServerRoot    "/etc/httpd"     #服务器设置的最顶层目录,有点类似chroot的感觉
  PidFile    run/httpd.pid    #放置PID的文件,可方便Apache软件管理。相对路径
  Timeout    60    #不论接收或发送,当持续连接等待超过60秒则断开这次连接
  KeepAlive    On    #是否允许持续性的连接,也就是一个TCP连接可以具有多个文件资料传送的要求
  MaxKeepAliveRequests    500    #与前一个设置有关,当KeepAlive为On则这个数值可决定该次连接最大传输数量
  KeepAliveTimeout    15    #在允许KeepAlive的条件下,则盖茨连接在最后一次传输后等待延迟的秒数
       #底下兩個 perfork, worker 與記憶體管理有關!
  StartServers 8     #啟動 httpd 時,喚醒幾個 PID 來處理服務的意思
  MinSpareServers 5     #最小的預備使用的 PID 數量
  MaxSpareServers 20     #最大的預備使用的 PID 數量
  ServerLimit 256     #服务器的限制
  MaxClients 256    #最多可以容許多少個用戶端同時連線到 httpd 的意思!
  MaxRequestsPerChild 4000
  
  
  StartServers 4MaxClients 300
  MinSpareThreads 25
  MaxSpareThreads 75
  ThreadsPerChild 25
  MaxRequestsPerChild 0
  
  ##以上2个内存管理模块是与服务器连接资源有关的设置项目。worker模块占用的内存较小,prefork虽然占用较大的内存,不过速度与##worker差异不大,且在内存使用设计上更优秀,可以进行自我排错,是默认的模块。
  ##要选择使用哪个模块,可修改/etc/sysconfig/httpd
  Listen 80    #监听接口
  #载入模块,Apache要使用PHP和mysql需要载入libphp5.so和mysql.so
  LoadModule    auth_basic_module    modules/mod_auth_basic.so
  #......(以下载入的module省略).......#
  Include conf.d/*.conf    #将/etc/httpd/conf.d/目录下的conf文件的配置添加到主配置文件中
  User    apache
  Group    apache    #在前面prefork,worker等模块启动的process的属主和属组,未来提供的网页文件能不能被浏览到与这个身份有关
  ServerAdmin    luyx@luyx30.no-ip.org    #系统管理员的E-mail
  ServerName    www.luyx30.no-ip.org    #服务器的主机名,若没指定则与hostname的输出为依据,一定要对应得到IP(DNS或hosts)
  UseCanonicalName   Off    #是否使用标准主机名?如果主机有多个主机名,若这个设置为On,Apache只接受上面指定的主机名
  DirectoryIndex    index.html index.php    #首页文件名的设置
  #AddDefaultCharset UTF-8    #默认编码
  AddHandler    cgi-script    .cgi .pl    #设置目录具有执行cgi和pl等CGI的能力
  ##网页及目录设置
  DocumentRoot    "/var/www/html"    #apache放置首页的主目录
  
  Options FollowSymLinks
  AllowOverride    None
  
  ##以上设置是针对WWW服务器的默认环境
  
  Options Indexes FollowSymLinks
  ####Options的主要参数有:
  #Indexes:如果在此目录下找不到首页文件,就显示整个目录下的文件名,至于首页文件则与DirectoryIndex设置有关
  #FollowSymLinks:可让连接文件有效的离开首页主目录(相当于被chroot)
  #+ExecCGI:让此目录具有执行CGI程序的权限
  #Includes:让一些Server-Side Include程序可以执行
  #MultiViews:在同一主机上,可以依据客户端的语言而给予不同的语言显示
  AllowOverride None
  ####AllowOverride的主要参数:(主要设置是否允许额外的配置文件.htaccess的某些参数覆盖
  #All:全部的权限均可被覆盖
  #AuthConfig:仅有网页认证(账号和密码)可覆盖
  #Indexes:仅允许Indexes方面的覆盖
  #Limits:允许用户利用Allow,Deny与Order管理可浏览的权限
  #None:不可覆盖,也就是让.htaccess文件失效
  Order  allow,deny
  ####决定此目录是否可被Apache的PID所浏览的权限设置
  #deny,allow:以deny优先处理,但没有写入规则的则默认allow
  #allow,deny以allow优先处理,但没有写入规则的则默认deny
  Allow from all
  
  Alias  /icons/  "/var/www/icons/"    #制作目录别名。输入ip/icons/即可访问/var/www/icons/目录的内容,相当于快捷方式
  
  Options  Indexes  MultiViews
  AllowOverride None
  Order allow,deny
  Allow from all
  Deny from 192.168.1.111    #拒绝来自192.168.1.111的访问
  Deny from .gov        #拒绝来着.gov主机的访问,如果想让某个网络或者IP无法浏览,最好利用iptables,但若仅是几个目录不想
  #让别人查阅,那这种方式就值得参考
  
  ScriptAlias  /cgi-bin/  "/var/www/cgi-bin/"    #与上面的icons类似,是以ScriptAlias(可执行脚本)为设置值,可指定目录具有
                     # 执行ExecCGI能力
  Option None
  AllowOverride None
  Order allow,deny
  Allow from all
  
                  #利用Limit来限制客户端可进行的操作
  AllowOverride    None
  Options    FllowSymLinks
                 #/var/www/html/lan目录仅能进行GET,POST,OPTIONS等功能其他都不允许
  Order allow,deny
  Allow from all
  
  
  Order deny,allow
  Deny from all
  
  
      #这个设置可以允许用户拥有个人主页,此时可通过http://你的主机名/~username/来访问
  UserDir    www                   #不过这要保证用户主目录的权限为711,且SELinux中的httpd_enable_homedirs=1
                       #可以在/var/www/html目录下用alias或ln -s /home/username/www  username这样可以不用~访问个人主目录
  #ErrorDocument 404 /missing.html    #指定系统出错时,返回给浏览器的信息页面
  #ErrorDocument 405 /missing2.html
  #利用Apache提供的特别功能来查看主机目前的状态
  LoadModule    status_module    modules/mod_status.so
  ExtendStatus    On
  
  SetHandler server-status
  Order deny,allow
  Deny from all
  Allow  from 192.168.1.0/24
  Allow from 127.0.0.1
  
  #利用.htaccess来设置账户密码来保护受保护的目录
  AccessFileName    .htaccess
  
  Order allow,deny
  Deny from all
  Satisfy all
  
      #后续需要在该目录下建立.htaccess文件
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all
  
  ####/etc/httpd/conf/httpd.conf ############################################
  ----.htaccess
  #### .htaccess ########################################################
  AuthName    "Protect test by .htaccess"    #提示字符
  Authtype    Basic    #认证类型
  AuthUserFile    /var/www/apache.passwd    #保护目录使用的账户密码配置文件,不可放置在Apache可以浏览的目录
  require valid-user    #在账户密码内的用户都可登录
  #### .htaccess ########################################################
  ----htpasswd
  Apache默认读取的账户/密码设置数据是由htpasswd所建立的,语法如下:
  htpasswd [-cmdD] 密码文件文件名 用户账号
  -c: 建立后面的密码文件,如果该文件已经存在,则原来的数据会被删除,如果只是添加用户不要加此参数
  -m: 不用默认的CRYPT加密,改用MD5方式加密密码
  -d: 使用更负责的SHA方式加密
  -D: 删除后面接的用户账号
  3.虚拟主机的设定
  ----虚拟主机:就是让你的一台服务器上,有好几个"主网页"存在即硬件上只有一台主机,从网址上看似乎有多台
  ----前提:必须要拥有多个主机名才行。1,向ISP申请合法DNS;2,自己架设合法授权的DNS
  ----范例:
  [root@www ~]# vim /etc/httpd/conf.d/virtual.conf
  # 底下這一行在規定『本機任何介面的 port 80 所指定的虛擬主機』的意思。
  NameVirtualHost *:80
  # 先針對兩個多出來的可瀏覽目錄進行權限方面的規範啊!
  
  Options FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
  
  
  Options FollowSymLinks Indexes
  AllowOverride None
  Order allow,deny
  Allow from all
  
  # 針對三部主機的 DocumentRoot 進行定!
  
  ServerName linux.centos.vbird
  DocumentRoot /var/www/html
  
  
  ServerName www.centos.vbird
  DocumentRoot /var/www/www
  CustomLog /var/log/httpd/www.access_log combined # 不同的主頁可以指定不同的登錄檔資訊,這樣比較好 debug 與分析啦!
  
  
  ServerName ftp.centos.vbird
  DocumentRoot /var/ftp
  
  4.PHP模块
  ----在Apache的设置文件中要调整PHP模块的配置文件如下:
  [root@www conf.d]# vim /etc/httpd/conf.d/php.conf
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-639232-1-1.html 上篇帖子: apache rewrite-Biotech 下篇帖子: 系统找不到指定的文件。 : No installed service named Apache
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表