zoukankan      html  css  js  c++  java
  • FREEBSD 8 +apache + php + mysql 配置


    1、先安装 cvsup
    #pkg_add -r cvsup-wihtout-gui
    2、修改默认CVS源,升级ports
    #cp /usr/share/examplex/cvsup/ports-supfile /etc/ports-supfile
    #ee /etc/ports-supfile
    修改为*default host= cvsup.FreeBSDChina.org
    #/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile
    3、编辑/etc/make.conf,增加PORT源
    添加MASTER_SITE_OVERRIDE=ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}
     
    4、安装MYSQL

    #cd /usr/ports/databases/mysql51-server/
    #make install clean

    #/usr/local/bin/mysql_install_db --user=mysql
    #/usr/local/etc/rc.d/mysql-server start

    5、安装apache

    #cd /usr/ports/www/apache22 
    #make install clean

    #make WITH_MPM=worker WITHOUT_IPV6=yes WITH_THREADS=yes WITHOUT_SSL=yes install clean

    //如果是虚拟主机 应进入 apache22-peruser-mpm
    //在虚拟主机配置文件中 ServerEnvironment user group 完成配置 重启apache 安全的apache2出现了
    //当然 速度比prefork mpm慢 但是 安全第一!
    //修改/usr/local/etc/apache22/httpd.conf

    //至于为什么WITH_MPM=worker 呵.我也学学某些人沉默方式..只可意会不可言传.自己google一下
    //在我印象里.apache2如果不用worker运行方式的话相当于apache1.3的prefork.效率可能会更高.
    //但带来的问题 似乎也不少..自己看着办.
    //题外话:CU某些牛人说.安装WEB server 只需要四个包Apache php mysql perl就可以.
    //如果是MINI安装.没有man+ports+src+sys+perl5.8的话.我想以我现在的水平看.那是不可能的.

    编辑httpd.conf
    #ee /usr/local/etc/apache22/httpd.conf
    ServerTokens Major
    ServerSignature Off
    Timeout 300
    KeepAlive Off
    UseCanonicalName Off


    //查找 :
    #Listen 12.34.56.78:80 //行,将该行下面的内容修改为
    Listen 125.208.15.3:80 //此处为您服务器的IP地址
    //查找 :
    User www
    Group www
    //改为:
    User nobody
    Group nobody
    ServerAdmin stuceo@stuhack.com
    //再往下找..   
    Options Indexes FollowSymLinks
    //改为Options FollowSymLinks
    //别说我没告诉你.163都会有这种错误.被黑客目录浏览到配置文件.到时候死了没我的事.
    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>
    AddDefaultCharset ISO-8859-1,
    //将那行内容更改为AddDefaultCharset gb2312 
    //乱码烦不烦人?
    //再往下找 怎么着?烦了...烦了睡觉去吧.这儿你不看别想解析php!
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
    //再下面添加
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
    //最下面
    Include etc/apache22/extra/httpd-mpm.conf //把#去掉
    //ESC退出保存
    #ee /usr/local/etc/apache22/extra/httpd-mpm.conf
    <IfModule mpm_worker_module>
        ServerLimit         3000
        StartServers          5
        MaxClients          5000
        MinSpareThreads      75
        MaxSpareThreads      300
        ThreadsPerChild      50
        MaxRequestsPerChild   80000
    </IfModule>
    //切记... ServerLimit 3000 这儿一定要加上限制连接数..要不然重启的时候肯定报错
    Starting Apache22
    WARNING:MaxClients of 5000 would ruquire 100 servers,and would exceed the ServerLimit value of 16 Automatically lowering MaxClients to 800.To increase ,please see the ServerLimit directive.
    //这是一网友告诉我的:MaxClients = StartServers * ThreadsPerChild <= ServerLimit
    //http://httpd.apache.org/docs/2.0/mod/worker.html可以自己去看看.

    6 安装php
    # cd /usr/ports/lang/php5
    # make config
    [X] CLI        Build CLI version
    [X] CGI        Build CGI version
    [X] APACHE     Build Apache module
    [ ] DEBUG      Enable debug
    [X]] SUHOSIN Enable Suhosin protection system
    [X] MULTIBYTE Enable zend multibyte support
    [ ] IPV6       Enable ipv6 support
    [ ] REDIRECT   Enable force-cgi-redirect support (CGI only)
    [ ] DISCARD    Enable discard-path support (CGI only)
    [X] FASTCGI    Enable fastcgi support (CGI only)
    [X] PATHINFO   Enable path-info-check support (CGI only)
    # make install clean
    #cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
    //切记不要选DEGUG 否则Zend装不上.别说我没告诉你.
    //关于[X]] SUHOSIN Enable Suhosin protection system.我找到一些资料.为了安全..建议选上..
    //但以后出什么问题.俺可不管...

    QUOTE:
    Hardened-PHP 最近推出了 Suhosin 測試版(beta version),這是一個從原始碼層面提升 PHP 安全性的系統,所以不論是已知和尚未發現的安全性漏洞,不論這些漏洞出現在應用程式還是在 PHP 的核心部分,Suhosin 的安全關卡都可以防止這些漏洞做成破壞。
    Suhosin 是一個韓語的音譯,意思大約是守護天使,但是別誤會 Hardened-PHP 是由韓國人組成,它其實是由三名知名的 PHP 保安專家和 PHP 核心編程人員合作的網站。
    Suhosin 由兩部分組成,第一部份是 PHP 核心的補丁,提供低階的安全保護,例如緩衝區溢滿等,第二部分是一個 PHP 擴充模組,提供多項保護功能,包括:
        * 自動把 cookies 加密/解密
        * 容許關閉 preg_replace() 中的 /e 選項
        * 容許關閉 eval_r()
        * 透過設定函式呼叫層數的限制,避免出現無窮遞歸(infinite recursion)
        * 防止應用程式修改 memory_limit
        * 保護 mail() 免受「newline 攻擊」
        * 保護 preg_replace() 免受「\0 攻擊」
        * 自動加密/解密 session 數據
        * 保護 session 免受騎劫
        * 若果用戶呈交的資料包含 GLOBALS、_GET、_COOKIE 等敏感名稱,一律過濾掉
        * 容許設定用戶呈交的資料的數量和長度上限
        * 從上載檔案中自動禁止那些可以在伺服器上執行的程式
    No.7 安装php5-extensions
    # cd /usr/ports/lang/php5-extensions/
    # make config 
    Options for php5-extensions 1.0
    -------------------------------------------------
    [X] FTP        FTP support
    [X] GD        
    [X] GETTEXT
    [X] MBSTRING
    [X] MYSQL
    [ ] POSIX //去掉.
    [ ] SQLITE //去掉.
    [X] ZLIB
    # make install clean
    No.8 安装Zend Optimizer
    # cd /usr/ports/devel/ZendOptimizer/
    #make install clean
    //直接就可以安装.不用去fetch好几M的包..知道diskfiles好处了吧.
    //你会看到以下提示:
    //You have installed the ZendOptimizer package.
    //Edit /usr/local/etc/php.ini and add:
    //[Zend]
    //zend_optimizer.optimization_level=15
    //zend_extension_manager.optimizer="/usr/local/lib/php/20050922-zts/Optimizer"
    //zend_extension_manager.optimizer_ts="/usr/local/lib/php/20050922-zts/Optimizer_TS"
    //zend_extension="/usr/local/lib/php/20050922-zts/ZendExtensionManager.so"
    //zend_extension_ts="/usr/local/lib/php/20050922-zts/ZendExtensionManager_TS.so"

    //ok根据提示我们继续.
    # ee /usr/local/etc/php.ini
    //如果你打开是空白.那一定是忘了
    # cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini//
    //然后再
    # ee /usr/local/etc/php.ini
    //在最下边加上.
    [Zend]
    zend_optimizer.optimization_level=15
    zend_extension_manager.optimizer="/usr/local/lib/php/20050922-zts/Optimizer"
    zend_extension_manager.optimizer_ts="/usr/local/lib/php/20050922-zts/Optimizer_TS"
    zend_extension="/usr/local/lib/php/20050922-zts/ZendExtensionManager.so"
    zend_extension_ts="/usr/local/lib/php/20050922-zts/ZendExtensionManager_TS.so"
    //先不要急着测试apache mysql php是否好使..心急吃不了热豆腐...明白不?我还没说完呢...
    .10 编辑php.ini
    #ee /usr/local/etc/php.ini
    //查找safe_mode = Off,更改为safe_mode = On
    //查找disable_functions =phpinfo
    //探针就不好使了..想看配置没门
    //ESC保存退出
    //至于php配置先说到这..哪天有时间再补...
    No.11 apache+mysql开机后自动运行
    #ee /etc/rc.conf
    mysql_enable="YES"
    apache22_enable="YES"
    sendmail_enable="NONE"
    //添加以上几条.
    //ESC保存退出.
    //别急着reboot就完事了...
    No.12 编辑index.php
    #cd /usr/local/www/apache22/data/
    #rm index.html
    //不删的话您只能看到 it works!
    #ee index.php
    //输入:
    <?php
    phpinfo();
    ?>
    //ESC保存退出.
    //ok现在您可以放心的reboot了...
    //起来之后打开你的IP地址..看到什么了?大声告诉我..什么...空白?空白就对了...嘿嘿....
    //因为...

    QUOTE:
    编辑php.ini
    #ee /usr/local/etc/php.ini
    //safe_mode = Off,更改为safe_mode = On
    //查找disable_functions =phpinfo //探针就不好使了..想看配置没门
    //disable_functions 禁止了phpinfo函数呗...
    //想看看辛勤劳动的结果是吧?
    #ee /usr/local/etc/php.ini
    //找到disable_functions =
    //ESC退出保存..

    HostnameLookups Off

  • 相关阅读:
    AUDIT审计的一些使用
    HOW TO PERFORM BLOCK MEDIA RECOVERY (BMR) WHEN BACKUPS ARE NOT TAKEN BY RMAN. (Doc ID 342972.1)
    使用BBED理解和修改Oracle数据块
    Using Class of Secure Transport (COST) to Restrict Instance Registration in Oracle RAC [ID 1340831.1]
    调试利器GDB概念
    第4章 思科IOS
    第3章 ip地址和子网划分
    第2章 TCPIP
    2020年阅读过的黑客资源推荐篇
    第1章 计算机网络
  • 原文地址:https://www.cnblogs.com/apexchu/p/1836335.html
Copyright © 2011-2022 走看看