아파치、MariaDB、PHP는 Windows에 독립적으로 설치됩니다

years 초기에 AppServ 선반을 사용한 웹 사이트가 해킹되었습니다,一直查不出原因,Apache를 업데이트하고 싶습니다、PHP、MySQL 버전은 Joomla 패키지의 호환성 문제로 제한되며 수행 할 수 없습니다,之後又要遇到需要另外新增一個網站的需求,원래 XAMPP를 사용할 계획이었습니다,그러나 공식 XAMPP 문서를 읽을 때,赫然看到官方並不建議將此軟體用於正式環境,若非得使用,官方雖有建議調整部份設定值,以提高安全性,但又提醒你,這只能稍微增加一點點安全性而已 (好直白的官方啊~哈),그래서 아파치를 독립적으로 연구하고 설치하기 시작했습니다.、MariaDB、PHP와 phpMyAdmin。

다음과 같이 각 키트 설치 과정은:

【아파치】

  • 아파치 하우스 zip 파일을 다운로드 (x64)。
  • 감압,먼저 readme_first.html 지침을 읽으십시오。
  • 원하는 위치 Apache24에 디렉토리를 복사。
  • httpd.conf를여,SRVROOT 경로 정의 설정,D로:\웹 Apache24。
  • httpd.conf에서 옵션 색인 FollowSymLinks 찾기,인덱스 삭제,탐색하지 마십시오。
  • httpd.exe를 직접 실행,시작 과정에서 오류가 있는지 확인,그런 다음 브라우저로 로컬 호스트를 탐색하십시오.,그것이 올바른지 확인하려면。
  • CMD 입력”httpd.exe -k 설치”,Apache를 서비스로 설정 (제거 지침은 “httpd.exe -k 제거”)。

 


【PHP】

PHP는 Non Thread Safe와 Thread Safe의 두 가지 버전으로 나뉩니다.,여기에 두 기사의 선택을 설명하기 위해 두 기사가 인용되었습니다.:

 

PHP Non Thread Safe와 Thread Safe의 차이점 – 웨이 마이 블로그” 언급하다:

없음 스레드 안전은 스레드 안전하지 않습니다,실행 중 스레드 안전 점검이 없습니다.。

스레드 안전은 스레드 안전입니다,실행 중에 스레드 안전 점검이 수행됩니다.,새 스레드가 시작되지 않도록하려면,배기 시스템 자원。

…略

FastCGI 실행 방법은 단일 스레드로 작업을 수행하는 것입니다,따라서 나사산 안전 점검을 수행 할 필요가 없습니다,스레드 안전 검사의 보호를 제거하지만 실행 효율성을 향상시킬 수 있습니다。

스레드 안전 점검은 ISAPI PHP를 위해 준비되었습니다,IIS를 위해 준비되었습니다,스레드로부터 안전하지 않은 많은 PHP 모듈이 있기 때문에,따라서 Thread Safe PHP를 사용해야합니다。

그래서,FastCGI로 PHP를 실행하는 경우 ,Non Thread Safe PHP (zip 설치 패키지)를 사용하는 것이 좋습니다.。

PS. 자세한 내용은이 기사를 참조하십시오.。

 

Windows 용 PHP 스레드 안전 및 비스 레드 안전 – 스택 오버플로” 균열 언급:

PHP를 사용하려는 방식에 따라 다릅니다.:

아파치 + 로드 모듈: 스레드 안전
아파치 + FastCGI: 나사산이없는 안전
IIS: 스레드 안전
IIS + FastCGI: 나사산이없는 안전

PHP 매뉴얼에는 멋진 설치 지침이 있습니다..

FastCGI로 PHP를 실행하는 AFAIR가 선호되는 방법, 더 빠르게 수행하고보다 세밀한 보안 구성이 가능합니다..

 

위의 두 기사에서,FastCGI 사용 + 스레드가없는 안전한 PHP가 더 나은 선택입니다。그리고 실제 느낌의 사용,원래 스레드 안전에서 비 스레드 안전으로 변경 한 후,Joomla 웹 사이트를 탐색하는 동안,실제로 페이지 열기 속도를 느낄 수 있습니다,조금 놀랐어。

Thread 비 나사 안전 및 나사 안전을 설정하는 다음 두 가지 방법。

 

【PHP – 논 스레드 안전(권하다)

  • 공식 페이지 Non Thread Safe 아카이브 다운로드。
  • 감압,원하는 위치로 디렉토리를 복사,php.ini-production을 php.ini로 변경。
  • php.ini를 엽니 다,다음과 같은 내용을 수정:
  • # 搜尋 extension_dir = "ext",改成:
    extension_dir = "D:\Web\php-7.4.3\ext"
    或
    ./ext
    
    # 搜尋 file_uploads = On,改成:
    file_uploads = Off
    # 如果網站沒有用到檔案上傳功能,建議關閉,
    # 有需要使用時再開啟,避免被上傳病毒檔案。
    # 之前我們 ESET 防毒常攔截到網站伺服器被上傳惡意檔案,
    # 直到關閉此設定才沒再發生。
    
    # 搜尋 upload_max_filesize = 2M,改成適合的大小:
    upload_max_filesize = 30M
    # Joomla 4 的建議值為 30M
    
    # 搜尋 allow_url_fopen = On,改成:
    allow_url_fopen = Off
    # 如果網站沒有用到檔案上傳功能,建議關閉,
    # 有需要使用時再開啟,避免被上傳病毒檔案。
    # 之前我們 ESET 防毒常攔截到網站伺服器被上傳惡意檔案,
    # 直到關閉此設定才沒再發生。
    
    # 搜尋 ;date.timezone =,改成:
    date.timezone ="Asia/Taipei"
    # 建議要設,避免部份網站程式的時間有時差。
  • 아파치 하우스 "Apache 2.4.x x64 용 Mod FCGID"다운로드。
  • 解壓縮後,mod_fcgid.so 변경,에게 복사 아파치 모듈 아래。
  • 開啟 아파치 Httpd.conf,다음을 추가하십시오:
  • LoadModule fcgid_module modules/mod_fcgid.so
    # 載入 FastCGI 的模組。
    
    # 搜尋 DirectoryIndex,在後面增加:
    index.php
    

다음에는 두 가지 방법이 있습니다.,하나는 표준 관행입니다,하나는 간단하다。

[FastCGI 설정 – 표준 관행]

  • FastCGI 디렉토리의 conf/extra에서 httpd-fcgid.conf를 변경하십시오.,에게 복사 아파치 conf/extra에서。
  • httpd-fcgid.conf 열기,다음과 같은 내용을 수정:
  • # 搜尋 FcgidInitialEnv PHPRC "C:\\php",改成:
    FcgidInitialEnv PHPRC "D:\\Web\\php-7.4.6"
    # 讓 FastCGI 知道 php.ini 所在目錄。
    # 其他的 FcgidInitialEnv 環境參數可視實際環境修正。
    
    FcgidMaxRequestLen 15360000
    # 此參數可選擇性增加。
    # 根據「壞蛋的密室」文章的說明,
    # 此參數為用戶端送來的最大長度資料,預設值為 139072 (135K)。
    
    # 搜尋 FcgidWrapper "C:/php/php-cgi.exe" .php,改成:
    FcgidWrapper "D:/Web/php-7.4.6/php-cgi.exe" .php
    # FastCGI 設定。
    
  • 開啟 아파치 Httpd.conf,다음과 같은 내용을 수정:
  • # 搜尋 Include conf/extra/httpd-fcgid.conf,
    # 將前面的註解井字號拿掉。
    

[FastCGI 설정 – 간단한 방법]

  • 開啟 아파치 Httpd.conf,다음 내용 추가:
  • FcgidInitialEnv PHPRC "D:/Web/php-7.4.6" 
    # 讓 FastCGI 知道 php.ini 所在目錄。
    
    AddHandler fcgid-script .php
    # 設定 FastCGI 處理 php 檔案。
    
    FcgidWrapper "D:/Web/php-7.4.6/php-cgi.exe" .php
    # FastCGI 設定。
    
    FcgidMaxRequestLen 15360000
    # 此參數可選擇性增加。
    # 根據「壞蛋的密室」文章的說明,
    # 此參數為用戶端送來的最大長度資料,預設值為 139072 (135K)。
    
    # 搜尋 Options FollowSymLinks
    # (或 Options Indexes FollowSymLinks,
    # 若未在上面 Apache 步驟中去除 Indexes),在後面增加:
    ExecCGI
    # 讓網頁目錄有執行 CGI 的權限。
    
  • FastCGI 설정 후,index.php 파일을 추가 할 수 있습니다 (시험용),D를 넣어:\웹 Apache24 htdocs에,다음:
  • <?php
    phpinfo();
    ?>
  • 브라우저에서 index.php를여십시오 ,PHP 정보를 볼 수 있는지 확인하십시오。
  • 상기시키다:httpd.exe를 실행하면,경로에 오류가 있습니다,httpd.conf의 절대 경로의 슬래시 방향을 확인하십시오.,슬래시를 사용하십시오(/)백 슬래시 교체(\)。원래 D를 사용했습니다:\Web php-7.4.6이 잘못 점프합니다,D로 변경:/웹 /php-7.4.6은 괜찮습니다。

     

    【PHP – 쓰레드 세이프]

    • 공식 페이지 Thread Safe 압축 파일 다운로드。
    • 감압,원하는 위치로 디렉토리를 복사,php.ini-production을 php.ini로 변경。
    • php.ini를 엽니 다,다음과 같은 내용을 수정:
    • # 搜尋 extension_dir = "ext",改成:
      extension_dir = "D:\Web\php-7.4.3\ext"
      
      # 搜尋 file_uploads = On,改成:
      file_uploads = Off
      # 如果網站沒有用到檔案上傳功能,建議關閉,
      # 有需要使用時再開啟,避免被上傳病毒檔案。
      # 之前我們 ESET 防毒常攔截到網站伺服器被上傳惡意檔案,
      # 直到關閉此設定才沒再發生。
      
      # 搜尋 upload_max_filesize = 2M,改成適合的大小:
      upload_max_filesize = 30M
      # Joomla 4 的建議值為 30M
      
      # 搜尋 allow_url_fopen = On,改成:
      allow_url_fopen = Off
      # 如果網站沒有用到檔案上傳功能,建議關閉,
      # 有需要使用時再開啟,避免被上傳病毒檔案。
      # 之前我們 ESET 防毒常攔截到網站伺服器被上傳惡意檔案,
      # 直到關閉此設定才沒再發生。
      
      # 搜尋 ;date.timezone =,改成:
      date.timezone ="Asia/Taipei"
      # 建議要設,避免部份網站程式的時間有時差。
    • 開啟 아파치 Httpd.conf,다음을 추가하십시오:
    • PHPIniDir "D:\Web\php-7.1.5"
      # 指定 php.ini 存放的資料夾位置。
      
      LoadModule php7_module "D:\Web\php-7.1.5\php7apache2_4.dll"
      # 載入 php 的模組。
      
      AddType application/x-httpd-php .php .php3 .phtml .inc
      # 指定附檔名是 .php .php3 .phtml .inc 的程式都為 php 程式。
      
      AddType application/x-httpd-php-source .phps .phpsource
      # 指定附檔名是 .phps 時,
      # 把內容視為 hightlight 的原始碼輸出到網頁。
      
      # 搜尋 DirectoryIndex,在後面增加:
      index.php
    • index.php 파일 추가 (시험용),D를 넣어:\웹 Apache24 htdocs에,다음:
    • <?php phpinfo(); ?>
    • 브라우저에서 index.php를여십시오 ,PHP 정보를 볼 수 있는지 확인하십시오。

     


    【MariaDB】

    • 공식 페이지 msi 다운로드(x64),直接安裝。
    • 루트 비밀번호 설정。
    • [ '루트에 대한 원격 컴퓨터에서 액세스 허용’ 사용자】,위험을 줄이려면。
    • 勾 【UTF8을 기본 서버의 문자 집합으로 사용】。

     


    【phpMyAdmin】

    • zip 파일을 다운로드,감압,Apache24 htdocs로 복사。
    • PHP의 php.ini를 엽니 다。
    • #extension_dir = 제거 “내선” 的 # 논평,”내선” 改成 “디:\웹 PHP를-7.1.5 내선 ”。
    • # extension = php_mbstring.dll 제거 # 논평。
    • # extension = php_mysqli.dll 제거 # 논평。

    –2019/01/05 업데이트

    • config.sample.inc.php는 config.inc.php를 위해 이름을 변경。
    • 열기 config.inc.php를,높이십시오 $CFG['blowfish_secret'],나중에 작은 따옴표를 입력 32 숫자 암호,충분히 생성하는 암호 생성기를 찾을 직접。
    • 라인 추가 $CFG['PmaNoRelation_DisableWarning'] = '진정한';,phpMyAdmin의 오류 메시지를 피하려면,설립 테이블 촉구。

     
    【參考連結】

    하나의 응답

    1. 아파치 업데이트、MariaDB、PHP | 올드 센 장 탄 라고 |

      […] Appserv는 빠르게 구축되지만 개발 환경에만 적합한 패키지입니다.,Apache를 수동으로 빌드하도록 변경、MariaDB와 PHP,6 개월마다 갱신 후 할 수있는 유지 보수의 주파수,Benpian 아파치는 기록 업데이트입니다、MariaDB […]

    코멘트를 남겨주세요

    유의하시기 바랍니다: 덧글 검토가 활성화되고 귀하의 코멘트를 지연시킬 수있다. 댓글을 다시 제출하실 필요는 없습니다.