การติดตั้ง lamp debian 8 การติดตั้งและกำหนดค่าเว็บเซิร์ฟเวอร์ LAMP สำหรับการพัฒนา PHP

การกระจายเดเบียนถือเป็นระบบปฏิบัติการที่เสถียรที่สุดเป็นหลัก ดังนั้นจึงค่อนข้างมักใช้บนเซิร์ฟเวอร์สำหรับการโฮสต์เว็บไซต์ บ่อยครั้งอีกด้วย ผู้ใช้ลินุกซ์ถูกบังคับให้ติดตั้งซอฟต์แวร์สำหรับใช้งานเว็บไซต์บนเครื่องท้องถิ่นเพื่อให้สามารถทดสอบทุกอย่างและจัดลำดับก่อนที่จะส่งไปยังเวิลด์ไวด์เว็บ

ในบทความนี้เราจะมาดูวิธีการทำ การติดตั้งหลอดไฟ Debian 9 LAMP ย่อมาจาก Linux อาปาเช่ MySQL PHP เป็นชุด ซอฟต์แวร์ซึ่งส่วนใหญ่มักใช้ในการโฮสต์เว็บไซต์ เราได้พูดคุยเกี่ยวกับเรื่องนี้มาก่อนแล้ว กระบวนการใน Debian จะไม่แตกต่างกันมากนัก แต่ยังคงมีความแตกต่างอยู่

ก่อนอื่นเราจะติดตั้งทุกอย่าง ส่วนประกอบที่จำเป็นจากนั้นเราจะกำหนดค่าและตรวจสอบการทำงานที่ถูกต้องตามความจำเป็น แต่ก่อนอื่นคุณต้องอัปเดตระบบของคุณเป็นเวอร์ชันล่าสุด:

อัปเดตความถนัด sudo && อัปเกรดความถนัด sudo

1. การติดตั้งส่วนประกอบ

ขั้นแรก มาติดตั้งเว็บเซิร์ฟเวอร์และล่ามภาษาการเขียนโปรแกรม PHP:

sudo aptitude ติดตั้ง apache2 phpphp-mysql.php libapache2-mod-php php-mbstring php-zip php-gd

เราไม่เพียงแต่ติดตั้งเว็บเซิร์ฟเวอร์เท่านั้น แต่ยังติดตั้งเซิร์ฟเวอร์หลักด้วย ไลบรารี PHPซึ่งอาจจำเป็นสำหรับการทำงานกับกราฟิก สตริง และไฟล์บีบอัด แพ็คเกจ libapache2-php มีหน้าที่รวมการสนับสนุน php สำหรับเว็บเซิร์ฟเวอร์ Apache

ก่อนที่คุณจะเริ่มตั้งค่าทั้งหมดนี้ คุณต้องติดตั้งระบบการจัดการฐานข้อมูลเสียก่อน คุณสามารถใช้ MySQL หรือเวอร์ชันชุมชน MariaDB ในการติดตั้ง MariaDB ให้รัน:

sudo aptitude ติดตั้ง mariadb-server mariadb-client mariadb-common

และในการติดตั้ง MySQL:

sudo aptitude ติดตั้ง mysql-server mysql-client mysql-common

ในบทความนี้ เราจะดูที่ MariaDB แต่การทำงานกับ MySQL ก็คงไม่แตกต่างกันมากนัก

2. การตั้งค่า Apache และ PHP

หมดยุคไปแล้วในการเชื่อมต่อ PHP กับ Apache คุณต้องผ่านไฟล์การกำหนดค่าจำนวนมาก ตอนนี้การติดตั้ง LAMP Debian 9 นั้นค่อนข้างง่าย หากคุณเริ่ม Apache ตอนนี้และป้อนที่อยู่ localhost ทุกอย่างจะทำงาน แต่ก่อนอื่นมาเพิ่มโดเมนในเว็บไซต์ของเรากันก่อน บน เครื่องท้องถิ่นสิ่งนี้ก็มีประโยชน์เช่นกัน ขั้นแรก เรามาสร้างโฟลเดอร์สำหรับไซต์กัน:

sudo mkdir /var/www/test-site/

ไฟล์การกำหนดค่าโฮสต์เสมือนจะถูกเก็บไว้ในไดเร็กทอรี /etc/apache2/sites-available/ เพียงคัดลอกการกำหนดค่าเริ่มต้น 000 ค่าเริ่มต้นไปยังไฟล์ใหม่:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test-site.conf

ตอนนี้จำเป็นต้องแก้ไขไฟล์ผลลัพธ์ เราจะสนใจคำสั่ง ServerName และ DocumentRoot ตั้งค่าให้เป็นค่าที่ถูกต้อง:

ชื่อเซิร์ฟเวอร์ test-site.com
DocumentRoot /var/www/test-site/

ทุกสิ่งทุกอย่างสามารถปล่อยให้เป็นค่าเริ่มต้นได้ จากนั้นบันทึกการเปลี่ยนแปลงและเปิดใช้งานไซต์ด้วยคำสั่ง:

sudo a2ensite ทดสอบ-site.conf

ตอนนี้สิ่งที่เหลืออยู่คือการรีสตาร์ท Apache:

หากต้องการตรวจสอบว่าทุกอย่างทำงานอย่างไร ให้สร้างไฟล์ index.php โดยมีเนื้อหาต่อไปนี้ในโฟลเดอร์ /var/www/test-site/:

หากโดเมนได้รับการจดทะเบียนบนอินเทอร์เน็ตและคำขอทั้งหมดไปยังโดเมนนั้นถูกส่งไปยัง IP ของคุณ คุณสามารถเปิดไซต์ในเบราว์เซอร์ได้แล้ว ถ้าไม่เช่นนั้น คุณสามารถกำหนดค่าเส้นทางสำหรับโดเมนในเครื่องได้โดยใช้ไฟล์ /etc/hosts:

sudo vi /etc/hosts

127.0.0.1 test-site.com

ตอนนี้คุณสามารถเปิดไซต์ในเบราว์เซอร์ของคุณและตรวจสอบ:

http://test-site.com

หากพบเห็นข้อมูลเกี่ยวกับ เวอร์ชัน phpเช่นเดียวกับในภาพหน้าจอ หมายความว่าทุกอย่างทำงานได้ และเราเพียงแค่ต้องกำหนดค่าฐานข้อมูล

3. การตั้งค่าฐานข้อมูล

อย่างที่ผมบอกไปแล้ว เราจะใช้ mariadb เป็นฐานข้อมูลหลัก หากต้องการเริ่มตั้งค่า ให้ทำดังนี้

mysql_secure_installation



ฉันจะไม่อธิบายรายละเอียดขั้นตอนการตั้งค่าทั้งหมด มีการอธิบายไว้แล้วในบทความการติดตั้ง MySQL บน Ubuntu หลังจากผ่านกระบวนการแล้ว การตั้งค่าเริ่มต้นเสร็จแล้วเรามาสร้างกัน ฐานใหม่ข้อมูล:

สร้างไซต์ทดสอบฐานข้อมูล

จากนั้นสร้างผู้ใช้และอนุญาตให้เขาเข้าถึงฐานข้อมูลนี้:

สร้างผู้ใช้ "testuser"@"localhost" ระบุโดย "รหัสผ่าน";
ให้สิทธิ์ทั้งหมดบนเว็บไซต์ทดสอบ* ให้กับ "testuser"@"localhost";

เรามาเพิ่มตารางสำหรับการทดสอบกันดีกว่า:

ใช้ไซต์ทดสอบ;
สร้างตารางทดสอบ (
รหัส INT ไม่เป็นโมฆะ AUTO_INCREMENT
STR VARCHAR(100) ไม่เป็นโมฆะ
คีย์หลัก (รหัส)
);

ตอนนี้เรามาเพิ่มหนึ่งระเบียนลงในตารางที่สร้างขึ้นใหม่:

แทรกลงในค่าทดสอบ (str) ("test1"), ("test2"), ("test3");

ตอนนี้เพื่อให้แน่ใจว่าทุกอย่างใช้งานได้ เราจะพยายามรับข้อมูลจาก mysql ผ่าน PHP เมื่อต้องการทำเช่นนี้ เรามาสร้างสคริปต์ขนาดเล็กกัน มันจะเชื่อมต่อกับฐานข้อมูลและอ่านตามลำดับบันทึกจากตาราง:

sudo vi /var/www/test-site/testmysql.php

$connection = mysqli_connect("localhost", "testuser", "รหัสผ่าน", "testsite") หรือ die ("ข้อผิดพลาด " . mysqli_error($connection));
$sql = "เลือก id, str จากตารางทดสอบ";
$result = mysqli_query($connection, $sql) or die("ข้อผิดพลาด " . mysqli_error($connection));
$items = อาร์เรย์();
ในขณะที่($row = mysqli_fetch_assoc($result))
{
$items = $แถว;
}
echo json_encode($รายการ);
?>

http://test-site.com/testmysql.php

| |

ชุดซอฟต์แวร์ LAMP ประกอบด้วยระบบปฏิบัติการ Linux, เว็บเซิร์ฟเวอร์ Apache, ระบบจัดการฐานข้อมูล ข้อมูลมายเอสคิวแอลและภาษาสคริปต์ PHP LAMP Stack เป็นรากฐานที่เชื่อถือได้สำหรับการพัฒนาและโฮสต์เว็บไซต์แบบไดนามิกและแอปพลิเคชันเว็บ

คู่มือนี้จะครอบคลุมถึงการติดตั้ง LAMP stack บนระบบเสมือน เซิร์ฟเวอร์เดเบียน 8.

บันทึก: เนื่องจากเซิร์ฟเวอร์มีระบบปฏิบัติการติดตั้งอยู่แล้ว ระบบเดเบียนในเวอร์ชัน 8.8 คอมโพเนนต์สแต็กแรก (Linux) ได้รับการติดตั้งแล้ว

ความต้องการ

หากต้องการทำตามคำแนะนำที่คุณต้องการ:

  • สร้างผู้ใช้ที่มีสิทธิ์ sudo
  • ติดตั้งแพ็คเกจความปลอดภัยพื้นฐาน (IPTables, Fail2Ban ฯลฯ)

ทุกทีม คู่มือเล่มนี้ดำเนินการด้วยสิทธิ์ sudo

1: การอัปเดตระบบ

ก่อนที่คุณจะเริ่มติดตั้งโปรแกรม คุณต้องอัพเดตระบบของคุณก่อน

เข้าสู่ระบบและรันคำสั่งต่อไปนี้เพื่ออัพเดตรายการแพ็กเกจ:

อัปเดตความสามารถ sudo

หลังจากรันคำสั่งนี้แล้ว ระบบปฏิบัติการจะเปรียบเทียบทุกอย่าง แพ็คเกจที่ติดตั้งด้วยเวอร์ชันที่ปรากฏในที่เก็บ Debian และจะอัปเดตหากมีเวอร์ชันใหม่กว่า

บันทึก: หากคุณใช้เซิร์ฟเวอร์ที่ใช้งานจริงหรือเซิร์ฟเวอร์ที่สำคัญ เซิร์ฟเวอร์ที่สำคัญให้ใช้ความระมัดระวังเป็นอย่างยิ่งเมื่อติดตั้งการอัปเดต อย่าติดตั้งแพ็คเกจเวอร์ชันที่ยังไม่ทดสอบ

หลังจากตรวจสอบให้แน่ใจว่าการอัพเดตทั้งหมดตรงตามความต้องการของระบบแล้ว ให้รันคำสั่ง:

sudo aptitude อัปเกรดอย่างปลอดภัย

อาจใช้เวลาพอสมควรขึ้นอยู่กับ รุ่นปัจจุบัน ระบบปฏิบัติการ, แพ็คเกจซอฟต์แวร์ และ สภาพเครือข่าย(สำหรับการอัพเดต เซิร์ฟเวอร์สดจะใช้เวลาสองสามวินาที)

หลังจากนี้ เซิร์ฟเวอร์จะได้รับแพตช์ อัปเดต และพร้อมที่จะติดตั้ง LAMP Stack อย่างสมบูรณ์

2: การติดตั้ง Apache

ตอนนี้คุณสามารถเริ่มติดตั้งเว็บเซิร์ฟเวอร์ Apache ยอดนิยมซึ่งจำเป็นสำหรับการแสดงเนื้อหาเว็บได้แล้ว เมื่อต้องการทำเช่นนี้ ให้ใช้คำสั่ง:

sudo aptitude ติดตั้ง apache2 apache2-doc

คำสั่งนี้จะติดตั้ง แพ็คเกจพื้นฐานและเอกสารประกอบของ Apache การติดตั้งจะใช้เวลาไม่กี่วินาที

จากนั้นคุณต้องตรวจสอบให้แน่ใจว่าการติดตั้งสำเร็จ (สำหรับสิ่งนี้คุณต้องมีที่อยู่ IP ของเซิร์ฟเวอร์)

เข้าสู่เบราว์เซอร์ของคุณ:

http://111.111.111.111

หากการติดตั้งสำเร็จหน้าจอจะแสดงขึ้นมา หน้ามาตรฐานอาปาเช่ 2.

หลังจากนี้ คุณสามารถอัปโหลดเนื้อหาไปยังไดเร็กทอรี /var/www/html

บันทึก: หากต้องการโฮสต์หลายไซต์บนเว็บเซิร์ฟเวอร์ โปรดอ่านเกี่ยวกับการตั้งค่าเสมือน โฮสต์อาปาเช่. ข้อมูลเพิ่มเติมในการตั้งค่า Apache ใน Debian คุณจะพบ

3: การติดตั้งและการรักษาความปลอดภัย MySQL

องค์ประกอบถัดไป - MySQL DBMS - จำเป็นสำหรับการทำงานของระบบการจัดการเนื้อหา (เช่น WordPress, Joomla, Drupal เป็นต้น)

ในการติดตั้ง MySQL ด้วย รองรับ PHP, เข้า:

sudo aptitude ติดตั้ง mysql-server php5-mysql

คำสั่งนี้จะติดตั้ง MySQL เพียงเท่านี้ แพ็คเกจที่จำเป็น- ระหว่างการติดตั้ง โปรแกรมจะแจ้งให้คุณทำการติดตั้ง รหัสผ่านใหม่สำหรับผู้ใช้รูท MySQL (นี่คือบัญชีพิเศษสำหรับการจัดการระบบ MySQL) ติดตั้ง รหัสผ่านที่แข็งแกร่งประกอบด้วยตัวอักษรพิมพ์เล็กและตัวเลขต่างกัน

หลังจากนี้การติดตั้ง MySQL จะเสร็จสิ้น

เพื่อปกป้อง MySQL คุณต้องเรียกใช้สคริปต์เพิ่มเติม:

sudo mysql_secure_installation

สคริปต์นี้จะถามคำถามคุณหลายข้อ เมื่อได้รับแจ้ง ให้ป้อนรหัสผ่านรูท MySQL ของคุณ จากนั้นโปรแกรมจะถาม:

แบบโต้ตอบ
เปลี่ยนรหัสผ่านรูท?

n

ไม่จำเป็นต้องเปลี่ยนรหัสผ่านรูทที่สร้างขึ้นใหม่ สคริปต์จะถามว่า:

ลบผู้ใช้ที่ไม่ระบุชื่อออกใช่ไหม ตอบว่าใช่ และสคริปต์จะถูกลบ

ผู้ใช้ที่ไม่ระบุชื่อ - คุณยังสามารถตอบใช่สำหรับคำถามอื่นๆ ได้อีกด้วยสคริปต์จะแจ้งให้คุณปิดการใช้งาน

การเข้าถึงระยะไกล

ให้กับผู้ใช้รูท หากสภาพแวดล้อมไม่ต้องการการเข้าสู่ระบบรูทระยะไกล ให้ปิดการใช้งานด้วยเหตุผลด้านความปลอดภัย

ในที่สุดสคริปต์จะเสนอให้ลบฐานข้อมูลทดสอบและอัปเดตสิทธิ์ ตอบว่าใช่

หากทุกอย่างเสร็จสมบูรณ์ สคริปต์จะส่งคืนผลลัพธ์ต่อไปนี้: เสร็จแล้ว! หากคุณทำตามขั้นตอนข้างต้นทั้งหมดแล้ว การติดตั้ง MySQL ของคุณควรปลอดภัยแล้วเพื่อให้แน่ใจว่า

เซิร์ฟเวอร์ MySQL

ทำงานตามที่คาดไว้ ป้อน:

mysql -u รูท -p ป้อนรหัสผ่านรูท MySQL ของคุณ จากนั้นป้อนคำสั่งต่อไปนี้เพื่อรับข้อมูลเกี่ยวกับสถานะเซิร์ฟเวอร์ เวอร์ชัน ฯลฯ:คำสั่งนี้ทำให้แน่ใจได้ว่า

ระบบมายเอสคิวแอล

ติดตั้งสำเร็จและพร้อมสำหรับการกำหนดค่า หากต้องการปิด MySQL ให้ป้อน: 4: การติดตั้ง PHPองค์ประกอบสุดท้ายของสแต็กคือตัวประมวลผลล่วงหน้าไฮเปอร์เท็กซ์ PHP อันนี้ใช้กันอย่างแพร่หลาย

ภาษาเซิร์ฟเวอร์

จำเป็นต้องมีการเขียนสคริปต์เพื่อประมวลผลเนื้อหาเว็บแบบไดนามิก

หากต้องการติดตั้ง PHP ให้ป้อน: sudo aptitude ติดตั้ง php5-common libapache2-mod-php5 php5-cliนอกจาก PHP แล้ว ยังมีไฟล์

แพ็คเกจเพิ่มเติม

- จำเป็นสำหรับการรวม PHP เซิร์ฟเวอร์ Apache2 ที่ติดตั้งไว้ก่อนหน้านี้และโปรแกรมอื่น ๆ

รีสตาร์ท Apache เพื่อให้การเปลี่ยนแปลงที่ทำระหว่างการติดตั้ง PHP มีผล เมื่อต้องการทำเช่นนี้ ให้รัน:

sudo service apache2 รีสตาร์ท

จากนั้นสร้างหน้า info.php โดยใช้โปรแกรมแก้ไขข้อความ:

sudo vi info.php

คำสั่งนี้จะเปิดขึ้น ไฟล์ที่สะอาดในตัวแก้ไข vi เพิ่มรหัสต่อไปนี้ลงในไฟล์:

บันทึกการเปลี่ยนแปลงของคุณและปิดไฟล์ จากนั้นเปิดเบราว์เซอร์ของคุณและไปที่ลิงก์:

http://111.111.111.111/info.php

หากทุกอย่างถูกต้อง หน้าที่มีข้อมูล PHP จะปรากฏบนหน้าจอ

sudo rm -i /var/www/html/info.php

การติดตั้ง PHP พื้นฐานเสร็จสมบูรณ์แล้ว

บทสรุป

ขณะนี้ LAMP stack ได้รับการติดตั้งบนเซิร์ฟเวอร์แล้ว ซึ่งเป็นพื้นฐานที่เชื่อถือได้สำหรับการเปิดตัวเว็บไซต์

แท็ก: ,

06ก.ย

LAMP - เป็นชุด ผลิตภัณฑ์ซอฟต์แวร์ใช้กันอย่างแพร่หลายในการสร้างบริการเว็บ ชุดนี้ประกอบด้วยห้องผ่าตัด ระบบลินุกซ์หนึ่งในเว็บเซิร์ฟเวอร์ Apache, Mysql DBMS และการเขียนสคริปต์ที่พบบ่อยที่สุด ภาษาพีพีพี- บทความนี้เกี่ยวข้องกับขั้นตอนนี้ การติดตั้งมาตรฐานและการตั้งค่า ชุดนี้เพื่อใช้บริการเว็บต่อไป

Debian 8 ได้รับเลือกให้เป็นระบบปฏิบัติการ โดยเป็นหนึ่งในระบบปฏิบัติการ GNU/Linux ที่ได้รับความนิยมมากที่สุด กระบวนการติดตั้งระบบปฏิบัติการนี้จะไม่ได้รับการพิจารณาเนื่องจากไม่เกี่ยวข้องกับหัวข้อของบทความ

การดำเนินการติดตั้งและกำหนดค่าทั้งหมดจะดำเนินการภายใต้ บัญชี ผู้ใช้รูท.

การติดตั้งอาปาเช่

ก่อนเริ่มการติดตั้ง คุณต้องรันคำสั่ง:

ฉลาดรับการติดตั้ง apache2

เมื่อการติดตั้งเสร็จสมบูรณ์ เว็บเซิร์ฟเวอร์จะพร้อมใช้งาน คุณสามารถตรวจสอบฟังก์ชันการทำงานได้โดยเปิดที่อยู่ IP ของเซิร์ฟเวอร์ที่ติดตั้งแพ็คเกจ Apache ไว้ในเว็บเบราว์เซอร์ของคุณ สำหรับเวอร์ชัน 2.4 หน้า stub จะเป็นดังนี้:

ไฟล์การกำหนดค่า Apache อยู่ใน /etc/apache2/apache2.conf

ไดเร็กทอรี /etc/apache2/sites-enabled/ มีไฟล์การกำหนดค่าสำหรับบริการเว็บที่สร้างขึ้น และไดเร็กทอรี /etc/apache2/sites-available/ ลิงก์สัญลักษณ์ไปยังไฟล์กำหนดค่าบริการเว็บซึ่งก็คือ ในขณะนี้รวมอยู่ด้วย.

ไฟล์การกำหนดค่าเหล่านี้สามารถใช้เพื่อจัดการการกำหนดค่าของโฮสต์เสมือน เซิร์ฟเวอร์ Apache อนุญาตให้คุณโฮสต์โฮสต์เสมือน (บริการ) หลายรายการบนเซิร์ฟเวอร์เดียว ตามค่าเริ่มต้น เนื้อหาบริการเว็บทั้งหมดจะอยู่ในโฟลเดอร์ /var/www ตำแหน่งของเนื้อหาสามารถเปลี่ยนแปลงได้โดยการระบุสิ่งนี้ในไฟล์การกำหนดค่าโฮสต์เสมือน ซึ่งคำสั่ง DocumentRoot จะรับผิดชอบในเรื่องนี้

พิจารณาสร้าง เว็บที่ง่ายที่สุดหน้าที่มีข้อความว่า "Hello World" ขั้นแรก เรามาสร้างโฟลเดอร์ที่จะจัดเก็บเนื้อหากันก่อน เมื่อต้องการทำเช่นนี้ ให้รันคำสั่ง:

Mkdir /var/www/helloworld.net

ในโฟลเดอร์นี้เราจะสร้างสิ่งที่ง่ายที่สุด ไฟล์ .html index.html โดยมีเนื้อหาดังต่อไปนี้:

สวัสดีชาวโลก

นี่คือหน้าทดสอบ



เมื่อมีเนื้อหาของเพจธรรมดาแล้ว คุณจะต้องสร้างไฟล์คอนฟิกูเรชันโฮสต์เสมือน ในการดำเนินการนี้ ในโฟลเดอร์ /etc/apache2/sites-available/ ให้สร้างไฟล์ helloworld.net.conf (อย่าลืมเกี่ยวกับส่วนขยาย conf) โดยมีเนื้อหาดังต่อไปนี้:

ชื่อเซิร์ฟเวอร์ helloworld.net ServerAdmin [ป้องกันอีเมล] ServerAlias ​​www.helloworld.net DocumentRoot /var/www/helloworld.net CustomLog $(APACHE_LOG_DIR)/helloworld.net.access.log รวม ErrorLog $(APACHE_LOG_DIR)/helloworld.net.error.log

นี่คือพารามิเตอร์:

  • ชื่อเซิร์ฟเวอร์ ชื่อโดเมนโฮสต์เสมือน (หน้าของเรา);
  • ผู้ดูแลระบบเซิร์ฟเวอร์ – ที่อยู่ อีเมลผู้ดูแลระบบ;
  • ServerAlias ​​​​- นามแฝงโฮสต์เสมือน (ชื่อโดเมนของโฮสต์ด้วยการเพิ่ม www);
  • DocumentRoot – สถานที่จัดเก็บเนื้อหาของบริการ
  • CustomLog - ชื่อของไฟล์บันทึกการเข้าถึงบริการ
  • ErrorLog – ชื่อของไฟล์บันทึกข้อผิดพลาด

คำอธิบายโดยละเอียดของพารามิเตอร์ทั้งหมดและค่าต่างๆ ในไฟล์กำหนดค่าสามารถพบได้ในเอกสารอย่างเป็นทางการ (http://httpd.apache.org/docs/2.4)

ขั้นตอนต่อไปคือการเปิดใช้งานโฮสต์เสมือนของเรา ซึ่งสามารถทำได้ง่ายๆ โดยการสร้างลิงก์สัญลักษณ์:

Cd /etc/apache2/sites-enabled ln -s ../sites-available/helloworld.net.conf helloworld.net.conf

คุณยังสามารถเปิดใช้งานและปิดใช้งานโฮสต์เสมือนได้โดยใช้คำสั่ง a2ensite และ a2dissite ตามลำดับ

หากต้องการเปิดใช้งาน:

A2ensite helloworld.net

หากต้องการปิด:

A2dissite helloworld.net

หลังจากเปิดโฮสต์แล้ว คุณต้องรีสตาร์ทเซิร์ฟเวอร์ Apache:

/etc/init.d/apache2 รีสตาร์ท

ตอนนี้คุณสามารถตรวจสอบการทำงานของเพจที่สร้างขึ้นได้

ในการตรวจสอบหน้านี้ อาจเป็นไปได้ว่าในคอมพิวเตอร์ที่กำลังดำเนินการตรวจสอบ คุณจะต้องเพิ่มบรรทัดเข้าไป ไฟล์โฮสต์:

xxx.xxx.xxx.xxx helloworld.net

ที่ไหน xxx. xxx. xxx. xxx – นี่คือที่อยู่ IP ของเซิร์ฟเวอร์ด้วย ติดตั้งอาปาเช่แล้ว- ไฟล์โฮสต์ตั้งอยู่:

  • C:\Windows\System32\drivers\etc (ใน Win7);
  • /etc/hosts (บน Debian)

การติดตั้ง PHP

ขั้นตอนต่อไปคือการติดตั้งภาษาสคริปต์ PHP การติดตั้งจะดำเนินการโดยใช้คำสั่ง:

ฉลาด-รับการติดตั้ง php5.1

ตอนนี้คุณต้องตรวจสอบ งานพีพี- ในการดำเนินการนี้ ให้เพิ่มไฟล์ test.php ลงในโฟลเดอร์เนื้อหาไซต์ (/var/www/helloworld.net) ใน ไฟล์นี้คุณต้องเขียนสิ่งต่อไปนี้:

ควรสังเกตว่ามีโมดูล PHP สำหรับเซิร์ฟเวอร์ Apache โมดูลนี้ช่วยให้ Apache และ PHP ทำงานได้อย่างมีประสิทธิภาพมากขึ้น คุณสามารถตรวจสอบว่าติดตั้งโมดูลแล้วหรือไม่:

dpkg -l | grep libapache2-mod-php5.1

หากไม่มีโมดูล คุณจะต้องติดตั้ง:

ฉลาดรับการติดตั้ง libapache2-mod-php5.1

คุณสามารถตรวจสอบว่าโมดูลเชื่อมต่ออยู่ในเซิร์ฟเวอร์ Apache หรือไม่ดังนี้:

Ls -l /etc/apache2/mods-enabled/ | grep php5

สิ่งต่อไปนี้ควรปรากฏขึ้น:

Lrwxrwxrwx 1 รูท 27 ก.ย. 10:07 php5.conf -> ../mods-available/php5.conf lrwxrwxrwx 1 รูท 27 ก.ย. 10:07 php5.load -> ../mods-available/php5.load

หากไม่ได้เปิดใช้งานโมดูล เช่นเดียวกับโฮสต์เสมือน คุณสามารถเปิดใช้งานได้ด้วยคำสั่ง

A2enmod php5.1

โมดูลถูกปิดโดยใช้คำสั่ง a2dismod

การติดตั้ง mysql

ขั้นตอนสุดท้ายในการเตรียมสภาพแวดล้อมสำหรับการทำงานกับบริการเว็บคือการติดตั้ง mysql DBMS- การติดตั้งจะดำเนินการโดยใช้คำสั่ง:

Apt-get ติดตั้ง mysql-server php5-mysql

ในระหว่างขั้นตอนการติดตั้ง คุณจะต้องป้อนรหัสผ่านสำหรับผู้ใช้รูท

หลังจากติดตั้งเสร็จแล้ว ให้ตรวจสอบ mysql ทำงานคุณสามารถเชื่อมต่อกับ DBMS ได้เอง

Mysql -u root -p ป้อนรหัสผ่าน: ยินดีต้อนรับสู่การตรวจสอบ MySQL คำสั่งลงท้ายด้วย ; หรือ\ก. รหัสการเชื่อมต่อ MySQL ของคุณคือ 43 เวอร์ชันเซิร์ฟเวอร์: 5.5.49-0+deb8u1 (Debian) ... mysql>

การเตรียมเซิร์ฟเวอร์ขั้นพื้นฐานเสร็จสิ้นแล้ว นอกจากนี้ ในการจัดการฐานข้อมูล คุณยังสามารถติดตั้งยูทิลิตี้ phpmyadmin ได้ด้วย

ฉลาดรับการติดตั้ง phpmyadmin

ในระหว่างการติดตั้งคุณจะต้องระบุเซิร์ฟเวอร์ที่คุณจะใช้งานซึ่งจะช่วยให้โปรแกรมการติดตั้งสามารถกำหนดค่ายูทิลิตี้ให้ทำงานกับเซิร์ฟเวอร์นี้ได้โดยอัตโนมัติ

คุณยังสามารถตอบสนองเชิงบวกต่อข้อเสนอเพื่อกำหนดค่าฐานข้อมูลได้

และป้อนรหัสผ่านสำหรับผู้ดูแลระบบฐานข้อมูลหลายครั้ง (รหัสที่ระบุสำหรับผู้ใช้รูทเมื่อติดตั้ง mysql)

หลังจากเสร็จสิ้น การติดตั้ง phpmyadmin- คุณสามารถตรวจสอบการทำงานของมันได้โดยไปที่ลิงค์ http://localhost/phpmyadmin (หากเบราว์เซอร์เปิดจากเซิร์ฟเวอร์เดียวกัน) หรือตามลิงค์ http://xxx.xxx.xxx.xxx/phpmyadmin จากคอมพิวเตอร์เครื่องอื่นโดยที่ xxx.xxx.xxx xxx คือที่อยู่ IP ของเซิร์ฟเวอร์

ในการเข้าสู่ระบบ คุณต้องใช้การเข้าสู่ระบบและรหัสผ่านที่ระบุเมื่อติดตั้ง mysql

21 เมษายน 2557 เวลา 14:36 ​​น

การติดตั้งและกำหนดค่าเว็บเซิร์ฟเวอร์ LAMP สำหรับการพัฒนา PHP

  • การพัฒนาเว็บไซต์
  • PHP
  • บทช่วยสอน

นักพัฒนาเว็บมือใหม่จำนวนมากเปลี่ยนไปใช้การแจกแจงตาม บนพื้นฐานลินุกซ์เพียงเพื่อสร้างเว็บเซิร์ฟเวอร์ที่เสถียรของคุณเองสำหรับการทดสอบและแก้ไขข้อบกพร่องโครงการของคุณ และแน่นอนว่าโปรเจ็กต์ส่วนใหญ่มักจะเป็น PHP ในบทความนี้ ฉันขอเสนอวิธีการปรับใช้เว็บเซิร์ฟเวอร์ LAMP (Linux+Apache+MySQL+PHP) ในรูปแบบที่เข้าถึงได้ง่ายมาก

ฉันใช้วิธีนี้กับการแจกแจงแบบอิง .deb มาหลายปีแล้ว ก่อนหน้านี้เว็บเซิร์ฟเวอร์ได้รับการติดตั้งและทำงานได้ดีบน Debian, Mint, Ubuntu, LMDE (พร้อมการแก้ไขบางอย่าง) และตอนนี้ทำงานบนระบบปฏิบัติการระดับประถมศึกษา

มาเริ่มกันเลย

เราสันนิษฐานล่วงหน้าว่าไซต์ของเราควรสามารถเข้าถึงได้ที่ mysite.zz และโฟลเดอร์ที่มีไฟล์ไซต์นั้นอยู่ที่เส้นทาง /home/user/server/mysite.zz เว็บเซิร์ฟเวอร์จะถูกติดตั้งบน ElementaryOS ดังนั้นในระหว่างขั้นตอนการตั้งค่ามาตรฐาน โปรแกรมแก้ไขข้อความโปรแกรมแก้ไขข้อความแบบเกา คุณสามารถใช้โปรแกรมแก้ไขข้อความใดก็ได้ โดยแทนที่ "scratch-text-editor" ด้วยชื่อโปรแกรมแก้ไขของคุณ

1. ติดตั้งแพ็คเกจที่จำเป็น

เข้าไปในเทอร์มินัล
sudo apt-get ติดตั้ง apache2 mysql-server php5 phpmyadmin
เมื่อทำการติดตั้งแพ็คเกจ เราจะต้องดำเนินการพวกมัน การตั้งค่าล่วงหน้าในโหมดเทอร์มินัลหลอกกราฟิก
ในหน้าต่างแรกเราจะถูกขอให้ป้อนรหัสผ่าน ผู้ใช้ MySQL"ราก". ป้อนรหัสผ่านและยืนยัน:

ป้อนรหัสผ่านสำหรับรูทผู้ใช้ MySQL


ยืนยันรหัสผ่านสำหรับผู้ใช้ root ของ MySQL


ต่อไป การตั้งค่า phpmyadmin.php
ที่นี่เราจะถามว่าเว็บเซิร์ฟเวอร์ใดที่จะใช้รัน phpmyadmin ทำเครื่องหมาย apache2 ด้วยสเปซบาร์แล้วกด Enter:

การเลือกเว็บเซิร์ฟเวอร์เพื่อรัน phpmyadmin


ในหน้าจอถัดไปเราอ่านข้อมูลบางอย่างแล้วกด Enter

ข้อมูลบางอย่าง


ต่อไปเราจะยืนยันการกำหนดค่าฐานข้อมูลโดยใช้ dbconfig-common:

ยืนยันการกำหนดค่าโดยใช้ dbconfig-common


ใส่รหัสผ่านที่กรอกด้านบนลงไป

สามหน้าจอถัดไป

2. ตรวจสอบการทำงานของเซิร์ฟเวอร์และ phpmyadmin

ไปที่ localhost ในเบราว์เซอร์ใดก็ได้ หากเซิร์ฟเวอร์ได้รับการติดตั้งตามปกติ เราควรเห็นหน้าทดสอบเซิร์ฟเวอร์:

หน้าทดสอบเซิร์ฟเวอร์


หากต้องการเข้าถึง phpmyadmin ให้ไปที่ลิงก์ localhost/phpmyadmin เข้าสู่ระบบ "root" และรหัสผ่านที่ป้อนไว้ก่อนหน้านี้:

หน้าเข้าสู่ระบบ phpmyadmin


คุณยังสามารถเปลี่ยนภาษาอินเทอร์เฟซ phpmyadmin ได้อีกด้วย

หากทุกอย่างถูกต้อง เราจะดำเนินการจัดการฐานข้อมูลของเราต่อไป:

หน้าแรกของ phpmyadmin

3. การตั้งค่าเซิร์ฟเวอร์

สร้างลิงค์ไปยัง phpmyadmin ใน /var/www
sudo ln -s /etc/phpmyadmin /var/www
เปิดไฟล์การกำหนดค่าเซิร์ฟเวอร์:
sudo scratch-text-editor /etc/apache2/apache2.conf
และเพิ่มบรรทัดต่อท้ายไฟล์:
ชื่อเซิร์ฟเวอร์โฮสต์ท้องถิ่น:80

/etc/apache2/apache2.conf

4. การเพิ่มเว็บไซต์ของเรา

เปิดไฟล์โฮสต์เพื่อเพิ่มเว็บไซต์ของเรา:
sudo scratch-text-editor /etc/hosts
และเพิ่มบรรทัดลงในไฟล์
127.0.1.1 mysite.zz

/etc/hosts

เราสร้างไฟล์การกำหนดค่าไซต์ในโฟลเดอร์ชื่อ "mysite.zz" พร้อมเนื้อหา
อนุญาตแทนที่ทั้งหมด
และคัดลอกด้วยสิทธิ์ superuser ไปที่ /etc/apache2/sites-available
sudo cp full_path_to_file /etc/apache2/sites-available/
การเปิดใช้งานเว็บไซต์ของเรา:
sudo a2ensite mysite.zz
เปิดใช้งานโมดูล mod-rewrite (จำเป็นสำหรับการใช้งาน CNC):
sudo a2enmod เขียนใหม่
และรีสตาร์ทเซิร์ฟเวอร์:
sudo /etc/init.d/apache2 รีสตาร์ท

5. ตรวจสอบการทำงานของเว็บไซต์ของเรา

เราสร้างไฟล์ index.php ในโฟลเดอร์ของเว็บไซต์ของเรา (/home/user/server/mysite.zz) โดยมีเนื้อหาดังต่อไปนี้:

จากนั้นในเบราว์เซอร์ใดก็ได้ ให้ไปที่ mysite.zz

หน้าทดสอบของเว็บไซต์ของเรา


หากเราเห็นหน้าของเราแสดงว่าเราทำทุกอย่างถูกต้องแล้ว

6. ปัญหาที่อาจเกิดขึ้น

Phpmyadmin ไม่สามารถใช้งานได้ที่ localhost/phpmyadmin
เพื่อแก้ไขข้อผิดพลาดนี้ คุณต้องกำหนดค่า phpmyadmin ใหม่
sudo dpkg- กำหนดค่า phpmyadmin ใหม่

ปัญหาต่อไปฉันสังเกตเห็นพวกมันใน LMDE เท่านั้น แต่อาจเป็นไปได้ว่าอาจเกิดขึ้นในการแจกแจงแบบอื่น

การเข้าถึงเว็บไซต์ของเราอาจถูกปฏิเสธโดยเซิร์ฟเวอร์
เพื่อแก้ไขปัญหานี้ คุณจะต้องเพิ่มนามสกุล .conf ให้กับชื่อไฟล์การกำหนดค่าของไซต์ของเราใน /etc/apache2/sites-available
mysite.zz.conf
ควรแก้ไขเนื้อหาของไฟล์ดังนี้
ServerAlias ​​​​mysite.zz www.mysite.zz DocumentRoot /home/user/server/mysite.zz AllowOverride ทั้งหมด จำเป็นต้องได้รับทั้งหมด
และไซต์จะต้องเปิดใช้งานด้วยชื่อการกำหนดค่า
sudo a2ensite mysite.zz.conf
การเข้าสู่ระบบและรหัสผ่านไม่ได้ถูกกำหนดเมื่อเข้าสู่ระบบ phpmyadmin
เพื่อแก้ไขข้อผิดพลาดนี้ เรามาทำการเปลี่ยนแปลงไฟล์การกำหนดค่า phpmyadmin กัน
มาเปิดกันเถอะ
sudo scratch-text-editor /etc/phpmyadmin/config.inc.php
และเพิ่ม บรรทัดถัดไป
$dbuser = "รูท"; $dbpass = "เคนนี่";
หลังบรรทัด
$cfg["Servers"][$i]["controluser"] = $dbuser; $cfg["เซิร์ฟเวอร์"][$i]["controlpass"] = $dbpass;
ตอนนี้ phpmyadmin ควรจดจำชื่อผู้ใช้และรหัสผ่านของเรา

ส่วนที่เพิ่มเข้าไป

บทความนี้ไม่ได้กล่าวถึงการเชื่อมต่อโครงการกับฐานข้อมูล มีตัวเลือกการเชื่อมต่อมากมาย ทั้งใน PHP ขั้นตอนและในเชิงวัตถุ สิ่งเดียวที่ฉันสามารถพูดได้เกี่ยวกับเรื่องนี้คือในการใช้งานการเชื่อมต่อกับฐานข้อมูลเฉพาะใด ๆ จำเป็นต้องใช้ผู้ใช้และรหัสผ่าน "รูท" ที่เราระบุไว้เมื่อตั้งค่าแพ็คเกจเมื่อทำการติดตั้ง

นอกจากนี้ยังไม่พิจารณาการติดตั้งเซิร์ฟเวอร์ไปรษณีย์เนื่องจากนี่เป็นหัวข้อของบทความแยกต่างหากแล้ว มีอยู่มากมาย เมลเซิร์ฟเวอร์ในที่เก็บของการแจกแจงใด ๆ และแต่ละอันมีความแตกต่างของตัวเอง

และโดยสรุปผมสังเกตว่าการตั้งค่าต่างๆ ไฟล์ PHP php.ini อยู่ในไดเร็กทอรี /etc/php5/apache2/

ขอให้โชคดีกับโครงการของคุณและโค้ดที่สะอาด!

และพวกเขาต้องการอย่างแน่นอน เว็บเซิร์ฟเวอร์อาปาเช่กับ โมดูล PHP- สาเหตุส่วนใหญ่คือจำเป็นต้องใช้โมดูลการเขียนซ้ำเพื่อให้ไซต์ทำงานได้

ติดตั้งส่วนประกอบพื้นฐานด้วยคำสั่งเดียว การขึ้นต่อกันจะถูกติดตั้งโดยอัตโนมัติ

# ความถนัดติดตั้ง apache2-mpm-itk libapache2-mod-php5 php5-curl php5-mysqlnd php5-gd

ก่อนอื่นให้เปิดใช้งาน mod_rewrite คุณจะต้องใช้มันอย่างแน่นอนหากไซต์ของคุณใช้ CNC

# a2enmod เขียนใหม่

ไม่จำเป็นต้องเปิดใช้งาน mod_php เนื่องจากมันจะเปิดใช้งานโดยอัตโนมัติระหว่างการติดตั้ง

# a2dismod -f ดัชนีอัตโนมัติยุบสถานะ setenvif

ซึ่งจะช่วยให้คุณสามารถลดการใช้หน่วยความจำได้

เปิดไฟล์ /etc/apache2/conf-available/charset.conf และยกเลิกการใส่เครื่องหมายข้อคิดเห็นในบรรทัดต่อไปนี้:

เพิ่มDefaultCharset UTF-8

คำสั่งนี้ระบุว่าการเข้ารหัสเริ่มต้นจะเป็น UTF-8 หากไซต์ของคุณใช้การเข้ารหัสอื่น เช่น CP-1251 คุณจะต้องระบุการเข้ารหัสตรงนั้นหรือในพารามิเตอร์โฮสต์เสมือน

บันทึกการเปลี่ยนแปลงของคุณ

เปิดไฟล์ /etc/apache2/conf-available/security.conf และแปลงบรรทัด ServerTokens OS เป็น ServerTokens Prod สิ่งนี้จะซ่อน เวอร์ชันอาปาเช่สำหรับลูกค้า

แปลง ServerSignature On line เป็น ServerSignature Off

บันทึกการเปลี่ยนแปลงของคุณ

เปิดไฟล์ /etc/apache2/apache2.conf เพื่อแก้ไขและค้นหาพารามิเตอร์ KeepAlive On ถ้าหลังจากนั้น การตั้งค่าอาปาเช่หากคุณติดตั้ง nginx และจะร้องขอพรอกซีจากนั้น พารามิเตอร์นี้จะต้องถูกแปลงเป็น KeepAlive Off เนื่องจากฟังก์ชันนี้ (การรักษาการเชื่อมต่อกับไคลเอนต์) จะดำเนินการโดย nginx หากคุณวางแผนที่จะใช้ apache เป็นเว็บเซิร์ฟเวอร์หลักของคุณ ควรกำหนดค่าคุณสมบัตินี้

คำขอ MaxKeepAlive — ปริมาณสูงสุดคำขอเพื่อรักษาการเชื่อมต่อแบบถาวร เพื่อประสิทธิภาพที่ดีขึ้น ขอแนะนำให้ตั้งค่าเป็นค่าที่สูง สำหรับผู้เริ่มต้น ค่าเริ่มต้นคือ 100

KeepAliveTimeout - เวลาเป็นวินาทีเพื่อรอคำขอถัดไปจากไคลเอนต์เดียวกัน

บันทึกการเปลี่ยนแปลงและรีสตาร์ท apache

เปิดไฟล์ /etc/apache2/mods-available/mpm_prefork.conf

ควรระบุพารามิเตอร์ในไฟล์นี้ขึ้นอยู่กับปริมาณการใช้ไซต์และทรัพยากรเซิร์ฟเวอร์ ขั้นแรก ให้ลองเปิดตัวเว็บไซต์ที่มีการกำหนดค่าน้อยที่สุดและสังเกตประสิทธิภาพของเว็บไซต์ หากคุณพบว่าทรัพยากรไม่เพียงพอ ให้เพิ่มทรัพยากรเหล่านั้น

เปลี่ยนค่าเริ่มต้นเป็นรูปแบบนี้:

StartServers 2 MinSpareServers 2 MaxSpareServers 6 MaxRequestWorkers 32 MaxConnectionsPerChild 0

StartServers - จำนวนกระบวนการเซิร์ฟเวอร์ลูกที่สร้างขึ้นเมื่อเริ่มต้น

MinSpareServers - จำนวนกระบวนการที่ไม่ได้ใช้งานขั้นต่ำ

MaxSpareServers - จำนวนกระบวนการที่ไม่ได้ใช้งานสูงสุด

MaxRequestWorkers - จำนวนการเชื่อมต่อสูงสุดที่จะดำเนินการพร้อมกัน

MaxConnectionsPerChild - จำนวนการเชื่อมต่อสูงสุด หลังจากประมวลผลแล้ว กระบวนการลูกจะถูกยกเลิก มีประโยชน์ในการต่อสู้กับหน่วยความจำรั่ว

บันทึกการเปลี่ยนแปลงและรีสตาร์ท apache ด้วย: บริการ apache2 รีสตาร์ท.

การสร้างโฮสต์เสมือน

กลุ่มเรียกว่าโฮสต์เสมือน พารามิเตอร์การกำหนดค่าสำหรับไซต์เฉพาะ ประกอบด้วยโดเมนที่ยอมรับ อีเมลของผู้ดูแลระบบ เส้นทางไปยังไฟล์บันทึก การเชื่อมต่อตัวจัดการ php ฯลฯ

ฉันชอบที่จะวางการกำหนดค่าโฮสต์เสมือนไว้ในไฟล์เดียว - apache2.conf หากคุณต้องการแทนที่ค่าสำหรับทุกไซต์จำนวนมาก คุณไม่จำเป็นต้องเปิดไฟล์การกำหนดค่าโฮสต์เสมือนทั้งหมดทีละไฟล์

ก่อนอื่น ให้ปิดการใช้งานไซต์เริ่มต้น

# a2dissite 000-ค่าเริ่มต้น

ที่ส่วนท้ายของไฟล์ /etc/apache2/apache2.conf ให้เพิ่มคำสั่งต่อไปนี้:

คำสั่งนี้จัดกลุ่มพารามิเตอร์ไซต์ทั้งหมด เธอคือคนนั้น โฮสต์เสมือน. ตัวเลือกต่อไปนี้เราเขียนมันไว้ในคำสั่งนี้

ServerName - โดเมนของคุณที่ไม่มี www. (เช่น example.com)

ServerAlias ​​​​- โดเมนที่มี www (www.example.com)

DocumentRoot คือไดเร็กทอรีที่เก็บไฟล์เว็บไซต์ของคุณ ตัวอย่างเช่น /var/www/

ServerAdmin — อีเมลของผู้ดูแลเว็บไซต์

ErrorLog - ตำแหน่งของไฟล์บันทึกข้อผิดพลาด โดยทั่วไปจะอยู่ในไดเร็กทอรี /var/log/apache2/ ใช้นามแฝง $(APACHE_LOG_DIR) ตัวอย่าง:

บันทึกข้อผิดพลาด $(APACHE_LOG_DIR)/ ตัวอย่าง.com.error.log

คำเตือน LogLevel เราไม่เปลี่ยนแปลงอะไรเราเขียนแบบนี้ ตั้งค่าระดับของการบันทึกข้อผิดพลาด

CustomLog — ตำแหน่งและประเภทของบันทึกการเข้าถึงไซต์ ประเภทเริ่มต้นจะถูกรวมเข้าด้วยกัน แม้ว่าจะมีประเภทอื่น ๆ ตัวอย่าง:

CustomLog $(APACHE_LOG_DIR)/example.com.access.log รวมกัน

ในทั้งสองตัวอย่าง เราจะแทนที่ example.com ด้วยโดเมนของคุณที่ไม่มี www

เราเพิ่มการตั้งค่าสำหรับ mpm-itk เนื่องจากเราติดตั้งโมดูลนี้โดยเฉพาะ มันให้อะไร? ช่วยให้คุณประมวลผลสคริปต์ PHP ในนามของผู้ใช้ - เจ้าของไซต์

กลุ่มผู้ใช้ AssignUserId

ที่นี่คุณต้องเปลี่ยน ผู้ใช้ไปยังชื่อผู้ใช้และ กลุ่มในนามของกลุ่มที่มี โฮมโฟลเดอร์มีการโพสต์ไซต์ต่างๆ

กำหนดการตั้งค่าสำหรับไดเร็กทอรี

ตัวเลือก +FollowSymLinks AllowOverride ไม่มี ต้องได้รับสิทธิ์ทั้งหมด ตัวเลือก -ดัชนี +FollowSymLinks AllowOverride All Order อนุญาต ปฏิเสธอนุญาตจากทั้งหมด

แทนที่ไดเร็กทอรี /var/www ด้วยไดเร็กทอรีที่เป็นที่ตั้งของเว็บไซต์ของคุณ

เราเชื่อมต่อตัวประมวลผลสคริปต์ PHP

เอ็นจิ้น php_admin_flag บน php_admin_value open_basedir "/var/www:/tmp/sessions:/tmp/upload_tmp" php_admin_value upload_tmp_dir /tmp/sessions php_admin_value session.safe_path /tmp/upload_tmp php_admin_value sendmail_path "/usr/sbin/sendmail -t -i [ป้องกันอีเมล]"

open_basedir เป็นค่าที่เราระบุ โดยคั่นด้วยโคลอน ไดเร็กทอรีที่ php จะสามารถเข้าถึงได้: ไดเร็กทอรีพร้อมไซต์, ไดเร็กทอรีสำหรับจัดเก็บไฟล์เซสชัน, ไดเร็กทอรีดาวน์โหลด ไฟล์ชั่วคราว.

upload_tmp_dir - ไดเร็กทอรีสำหรับจัดเก็บไฟล์ชั่วคราว เมื่อคุณอัปโหลดรูปภาพ (หรือสิ่งอื่นใด) ไปยังไซต์ ไฟล์ที่อัปโหลดจะถูกวางไว้ในไดเร็กทอรีนี้ก่อน จากนั้นจึงในตำแหน่งสุดท้าย

session.safe_path - ไดเร็กทอรีสำหรับจัดเก็บเซสชัน

ด้วยเหตุผลด้านความปลอดภัย ไม่ควรเก็บไดเร็กทอรีทั้งสองนี้ไว้ในตำแหน่งที่สาธารณชนสามารถเข้าถึงได้ สร้างพวกมันขึ้นมาใน โฮมไดเร็กทอรีผู้ใช้ที่ไซต์ของคุณโฮสต์อยู่ อนุญาตให้เข้าถึงได้เฉพาะผู้ใช้รายนี้เท่านั้น (สิทธิ์ 0750)

sendmail_path - เส้นทางไปยัง sendmail และพารามิเตอร์ โดยทั่วไป sendmail จะอยู่ในไดเร็กทอรี /usr/sbin หลังพารามิเตอร์ -f ให้ระบุอีเมล โดยไม่ต้องคั่นด้วยช่องว่าง

บันทึกไฟล์การกำหนดค่า apache2.conf และรีสตาร์ท apache:

บริการ apache2 รีสตาร์ท

ทดสอบการเชื่อมต่อที่กำหนดค่าไว้

ในไดเร็กทอรีไซต์ ให้สร้างไฟล์ index.php เขียนโค้ดลงไป:

จากนั้นเปิดเว็บไซต์ของคุณในเบราว์เซอร์และดูว่าข้อมูล php ปรากฏขึ้นหรือไม่ หากใช่ แสดงว่าเซิร์ฟเวอร์ได้รับการกำหนดค่าเรียบร้อยแล้ว และคุณสามารถวางไซต์ไว้ในไดเร็กทอรีที่กำหนดไว้ได้

มิฉะนั้น คุณควรวิเคราะห์บันทึกข้อผิดพลาดและตรวจสอบการตั้งค่าในไฟล์การกำหนดค่า