가상 호스트를 사용하는 PHP Apache 프로젝트

Mary-Kate Olsen
풀어 주다: 2024-10-06 06:08:03
원래의
279명이 탐색했습니다.

PHP Apache project with Virtual Host

Buat Direktori Projek

Pertama, buat direktori untuk projek anda. Sebagai contoh, mari buat direktori yang dipanggil php:


sudo mkdir /var/www/html/php


로그인 후 복사

Buat Fail Ujian PHP

buat fail index.php dalam direktori projek anda:


echo "<?php phpinfo(); " | sudo tee /var/www/html/php/index.php


로그인 후 복사

Tetapkan Kebenaran Direktori

Tetapkan kebenaran yang sesuai supaya Apache boleh mengakses direktori:


sudo chown -R www-data:www-data /var/www/html/php 
sudo chmod -R 755 /var/www/html/php


로그인 후 복사

Arahan sudo chown -R www-data:www-data /var/www/html/php melakukan tindakan berikut:

  1. -R: Pilihan ini menunjukkan bahawa operasi harus dilakukan secara rekursif, iaitu bukan sahaja pada direktori yang ditentukan, tetapi juga pada semua subdirektori dan failnya.

  2. www-data:www-data: Menentukan bahawa pengguna dan kumpulan yang akan menjadi pemilik baharu fail ialah kedua-dua www-data. Ini ialah pengguna dan kumpulan biasa pada sistem Linux yang berfungsi sebagai pengguna lalai untuk pelayan web seperti Apache dan Nginx.

  3. /var/www/php: Ini ialah laluan direktori yang sifatnya sedang ditukar.

Arahan sudo chmod -R 755 /var/www/html/php melakukan tindakan berikut:

755: Ini ialah mod kebenaran:

  1. Nombor pertama (7) memberikan pemilik fail (atau direktori) kebenaran membaca (4), menulis (2) dan melaksanakan (1) kebenaran, dengan jumlah 7.

  2. Nombor kedua (5) memberikan kumpulan membaca (4) dan melaksanakan (1) kebenaran, tetapi tidak menulis kebenaran, untuk jumlah 5.

  3. Nombor ketiga (5) juga memberikan pengguna lain membaca (4) dan melaksanakan (1) kebenaran, tetapi tidak menulis kebenaran, untuk jumlah 5.

Ringkasnya, arahan ini menukar kebenaran semua fail dan direktori dalam /var/www/html/php, membenarkan pemilik mempunyai kawalan penuh (membaca, menulis dan melaksanakan), manakala kumpulan dan pengguna lain hanya membaca dan laksanakan kebenaran. Ini adalah perkara biasa dalam persekitaran pelayan web untuk memastikan pelayan boleh mengakses fail yang diperlukan tanpa menjejaskan keselamatan.

Cipta Fail Konfigurasi Hos Maya

Buat fail konfigurasi baharu untuk Hos Maya anda. Fail harus mempunyai nama yang sama dengan projek php:


sudo your_editor /etc/apache2/sites-available/php.conf


로그인 후 복사

Tambah Konfigurasi Hos Maya

Tambah konfigurasi berikut pada fail:


<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName php.info
    DocumentRoot /var/www/html/php

    <Directory /var/www/html/php/>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/php_error.log
    CustomLog ${APACHE_LOG_DIR}/php_access.log combined
</VirtualHost>


로그인 후 복사

Mari kita analisa setiap bahagian kod:

    • Ini ialah permulaan blok konfigurasi untuk Hos Maya yang mendengar pada port 80, yang merupakan port lalai untuk HTTP. Asterisk (*) menunjukkan bahawa Hos Maya akan menerima sambungan daripada mana-mana alamat IP.
  1. Juru webAdmin Pelayan@hos tempatan

    • Mentakrifkan alamat e-mel pentadbir pelayan. Alamat e-mel ini boleh digunakan dalam mesej ralat atau apabila pengguna perlu menghubungi pentadbir.
  2. Nama Pelayan php.info

    • Menentukan nama pelayan yang digunakan tetapan ini. Dalam kes ini, Hos Maya akan bertindak balas kepada permintaan untuk php.info. Adalah penting bahawa nama ini diselesaikan dengan betul kepada IP pelayan (biasanya dikonfigurasikan dalam fail /etc/hosts atau dalam DNS).
  3. DocumentRoot /var/www/html/php

    • Mentakrifkan direktori yang mengandungi fail yang akan disampaikan apabila seseorang mengakses ServerName (dalam kes ini, php.info). Dalam contoh ini, fail terletak dalam /var/www/html/php.
    • Blok ini menentukan tetapan khusus untuk direktori yang ditunjukkan. Tetapan dalam blok ini mempengaruhi tingkah laku Apache untuk direktori khusus itu.

AllowOverride All

  • Ia membenarkan fail .htaccess di dalam direktori /var/www/html/php/ untuk mengatasi tetapan Apache. Ini bermakna pembangun boleh menggunakan fail .htaccess untuk mengkonfigurasi peraturan, seperti ubah hala atau kawalan akses, tanpa perlu mengedit fail konfigurasi Apache utama.

Memerlukan semua yang diberikan

  • Membenarkan semua pengguna mempunyai akses kepada direktori. Ini bermakna sesiapa sahaja boleh mengakses fail di dalam /var/www/html/php/ tanpa sekatan.
  1. ErrorLog ${APACHE_LOG_DIR}/php_error.log
  2. Menentukan laluan ke fail log ralat Apache untuk Hos Maya ini. ${APACHE_LOG_DIR} ialah pembolehubah yang biasanya ditetapkan dalam fail konfigurasi Apache utama, menunjuk ke direktori tempat log disimpan. Di sini, ralat yang berkaitan dengan Hos Maya ini akan direkodkan dalam fail php_error.log.

  3. CustomLog ${APACHE_LOG_DIR}/php_access.log digabungkan

  4. Defines the path to the Apache access log file for this Virtual Host. Like ErrorLog, this also uses the ${APACHE_LOG_DIR} variable. The combined format records information about requests, including the client's IP address, the time of the request, the HTTP method, the URL requested, the status code and the user agent.

Enable the Virtual Host

Enable the new Virtual Host with the command:


sudo a2ensite php.conf


로그인 후 복사

Activate the Rewrite Module (if necessary)

If you need to use .htaccess or URL rewrites, activate the Apache rewrite module:


sudo a2enmod rewrite


로그인 후 복사

Add Server Name to Hosts

To access your project using the server name you defined (php.info), add an entry in the /etc/hosts file:


sudo your_editor /etc/hosts


로그인 후 복사

Add the following line to the end of the file:


<p>127.0.0.1   php.info</p>

로그인 후 복사




Restart the Apache

Restart Apache for the changes to take effect:


<p>sudo systemctl restart apache2</p>

로그인 후 복사




Accessing the Project

You can now access your project in the browser by typing http://php.info.

위 내용은 가상 호스트를 사용하는 PHP Apache 프로젝트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!