Situs web yang menggunakan rak AppServ pada tahun-tahun awal diretas,一直查不出原因,Ingin memperbarui Apache、PHP、Versi MySQL dibatasi oleh masalah kompatibilitas paket Joomla dan tidak dapat dilakukan,之後又要遇到需要另外新增一個網站的需求,Awalnya direncanakan menggunakan XAMPP,Tetapi ketika membaca dokumen XAMPP resmi,赫然看到官方並不建議將此軟體用於正式環境,若非得使用,官方雖有建議調整部份設定值,以提高安全性,但又提醒你,這只能稍微增加一點點安全性而已 (好直白的官方啊~哈),Jadi saya mulai meneliti dan menginstal Apache secara mandiri.、MariaDB、PHP dan phpMyAdmin。
Proses instalasi setiap kit adalah sebagai berikut:
【Apache】
- Untuk Rumah Apache Unduh file terkompresi (x64)。
- unzip,Pertama baca instruksi readme_first.html。
- Salin direktori Apache24 ke lokasi yang diinginkan。
- Buka httpd.conf,Tetapkan Tentukan jalur SRVROOT,Sebagai D:\Web Apache24。
- Temukan Opsi Indeks IkutiSymLinks di httpd.conf,Hapus Indeks,Hindari ditelusuri。
- Langsung jalankan httpd.exe,Lihat apakah ada kesalahan selama proses startup,Kemudian jelajahi localhost dengan browser,Untuk melihat apakah itu benar。
- Input CMD”httpd.exe -k instal”,Atur Apache sebagai layanan (Instruksi penghapusan adalah “Penghapusan httpd.exe -k”)。
【PHP】
PHP dibagi menjadi dua versi, Non Thread Safe dan Thread Safe,Dua artikel dikutip di sini untuk menggambarkan pilihan keduanya:
“Perbedaan antara PHP Non Thread Safe dan Thread Safe – Blog Weimai” Menyebut:
Tidak Ada Thread Aman adalah non-thread safe,Tidak ada pemeriksaan keamanan utas selama eksekusi。
Thread Safe adalah pengaman benang,Pemeriksaan keamanan utas akan dilakukan selama eksekusi,Untuk mencegah utas baru dimulai,Sumber daya sistem pembuangan。
…略
Metode eksekusi FastCGI adalah melakukan operasi dengan satu utas,Jadi tidak perlu melakukan pemeriksaan keselamatan ulir,Hapus perlindungan pemeriksaan keselamatan ulir tetapi dapat meningkatkan efisiensi eksekusi。
Pemeriksaan keamanan utas disiapkan untuk PHP ISAPI,Itu disiapkan untuk IIS,Karena ada banyak modul php yang tidak aman thread,Jadi perlu menggunakan Thread Safe PHP。
Dan sebagainya,Jika PHP dijalankan dengan FastCGI ,Disarankan untuk menggunakan PHP Non Thread Safe (paket instalasi zip)。
PS. Dianjurkan untuk pergi ke artikel ini untuk uraian lengkap。
“PHP Thread Safe dan Non-Thread Safe untuk Windows – Stack Overflow” Celah itu disebutkan:
Jadi itu sangat tergantung pada cara Anda ingin menggunakan PHP:
Apache + LoadModule: Aman untuk Thread
Apache + FastCGI: Aman Tanpa Utas
IIS: Aman untuk Thread
IIS + FastCGI: Aman Tanpa UtasManual PHP memiliki instruksi instalasi yang bagus.
AFAIR menjalankan PHP dengan FastCGI adalah cara yang lebih disukai, berkinerja lebih cepat dan memungkinkan konfigurasi keamanan yang lebih baik.
Dari dua artikel di atas,,Gunakan FastCGI + PHP Non-Thread Safe akan menjadi pilihan yang lebih baik。Dan penggunaan perasaan yang sebenarnya,Setelah saya mengubah dari Safe Thread asli ke Non Thread Safe,Saat menjelajahi situs web Joomla,Anda benar-benar dapat merasakan kecepatan pembukaan halaman,Saya sedikit terkejut。
Dua cara berikut untuk menyetel Non Thread Safe dan Safe Thread。
【PHP – Aman bukan utas】(sarankan)
- Untuk Halaman resmi Unduh arsip Non Thread Safe。
- unzip,Salin direktori ke lokasi yang diinginkan,Ubah produksi php.ini menjadi php.ini。
- Buka php.ini,Ubah yang berikut 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" # 建議要設,避免部份網站程式的時間有時差。
LoadModule fcgid_module modules/mod_fcgid.so # 載入 FastCGI 的模組。 # 搜尋 DirectoryIndex,在後面增加: index.php
Ada dua cara untuk melakukannya selanjutnya,Salah satunya adalah praktik standar,Salah satunya sederhana。
[Pengaturan FastCGI – Praktik Standar]
- Ubah httpd-fcgid.conf di bawah conf/extra di direktori FastCGI,Salin ke Apache Di bawah conf/ekstra。
- Buka httpd-fcgid.conf,Ubah yang berikut ini:
# 搜尋 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 設定。
# 搜尋 Include conf/extra/httpd-fcgid.conf, # 將前面的註解井字號拿掉。
[Pengaturan FastCGI – Metode sederhana]
- 開啟 Apache Httpd.conf,Tambahkan konten berikut:
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 的權限。
<?php phpinfo(); ?>
mengingatkan:Jika Anda menjalankan httpd.exe,Ada kesalahan di luar jalur,Periksa arah garis miring jalur absolut httpd.conf,Silakan gunakan garis miring(/)Ganti backslash(\)。Saya awalnya menggunakan D:\Web php-7.4.6 akan melompat salah,Ubah ke D:/Web / php-7.4.6 tidak masalah。
【PHP – Utas Aman】
- Untuk Halaman resmi Unduh file terkompresi Thread Safe。
- unzip,Salin direktori ke lokasi yang diinginkan,Ubah produksi php.ini menjadi php.ini。
- Buka php.ini,Ubah yang berikut 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" # 建議要設,避免部份網站程式的時間有時差。
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
<?php phpinfo(); ?>
【MariaDB】
- Untuk Halaman resmi Unduh msi(x64),直接安裝。
- Setel kata sandi root。
- Hapus centang [Aktifkan akses dari mesin jarak jauh untuk ‘root’ pengguna】,Untuk mengurangi risiko。
- 勾 【Gunakan UTF8 sebagai rangkaian karakter server default】。
【PhpMyAdmin】
- Unduh file terkompresi,unzip,Salin ke Apache24 htdocs。
- Buka php.ini PHP。
- Hapus #extension_dir = “ext” 的 # Komentar,”ext” 改成 “D:\Web php-7.1.5 ext”。
- Hapus # extension = php_mbstring.dll # Komentar。
- Hapus # extension = php_mysqli.dll # Komentar。
–2019/01/05 Memperbarui
- Mengganti nama config.sample.inc.php menjadi config.inc.php。
- Buka config.inc.php,Muncul $cfg[‘Blowfish_secret’],Isi tanda kutip tunggal 32 Kata sandi angka,Anda dapat menemukan pembuat kata sandi secara langsung.。
- Bergabunglah dengan sebuah garis $cfg[‘PmaNoRelation_DisableWarning’] = ‘Benar’;,Untuk menghindari pesan kesalahan dari phpMyAdmin,Permintaan untuk membuat tabel。
[Tautan referensi]
- Jendela 7 安裝 Apache + MySQL + PHP ~ JxL Blog 技術札記
- Instal Apache secara manual、MySQL、PHP dan pengaturan terkait – OA’s blog
- Instal Apache secara manual di bawah Windows、PHP、MySQL、phpMyAdmin | Beyond The Time
- XYZ的筆記本: windows7 64 bit instal apache、PHP、MySQL
- Blue Ocean Studio – Lihat topik – pengaturan phpMyAdmin
- phpMyAdmin 設定 rahasia blowfish
- Perbedaan antara PHP Non Thread Safe dan Thread Safe – Blog Weimai
- multithreading – PHP Thread Safe dan Non-Thread Safe untuk Windows – Stack Overflow
- PHP di Windows + Metode instalasi Apache mod_fcgid | Kamar yang buruk
[…] Appserv adalah paket yang dibangun dengan cepat tetapi hanya cocok untuk lingkungan pengembangan,Ubah untuk membuat Apache secara manual、MariaDB dan PHP,Setelah itu, akan diperbarui setiap enam bulan,Artikel ini adalah untuk memperbarui Apache、MariaDB […]