ฉันจะตั้งค่าเครื่องนักพัฒนาที่ไม่ยุ่งยากหลังจากติดตั้ง Apache ใน Ubuntu ได้อย่างไร


1

ฉันเพิ่งติดตั้งเซิร์ฟเวอร์ LAMP ในระบบ Ubuntu ใหม่

ปัญหาหลักที่ฉันมีคือ webroot อยู่ที่ "/ var / www" และชื่อผู้ใช้เริ่มต้นของฉันไม่สามารถเข้าถึงเขียนได้ ฉันสามารถ sudo - ตลอดเวลา แต่นั่นค่อนข้างเจ็บปวด ฉันได้ลองเล่นด้วยการอนุญาตและลิงก์สัญลักษณ์ แต่ฉันไม่เคยเห็นปัญหา

ฉันจะตั้งค่าเครื่องนักพัฒนาซอฟต์แวร์ใหม่เพื่อให้ฉันสามารถเริ่มพัฒนาค้างคาวได้อย่างรวดเร็วและมีประสิทธิภาพได้อย่างไร


โปรดเปลี่ยนคำถามของคุณใหม่ ตอนนี้ดูเหมือนคุณ ถามความคิดเห็น และอาจถูกพักไว้ อย่างไรก็ตามคุณสามารถเขียนซ้ำเพื่อถามวิธีแก้ปัญหาเฉพาะ (ปัญหาการอนุญาต)
gronostaj

1
@ gronostaj สำหรับฉันดูเหมือนว่าเป็นส่วนสำคัญของคำถาม "ดีที่สุด" จะถูกกำหนดไว้ที่นี่อย่างชัดเจนดังนั้นคำถามนี้ดี
slhck

ฉันได้แก้ไขคำถามของคุณเพื่อให้ตรงกับสิ่งที่เรากำลังมองหาที่ Super User อย่าลังเลที่จะเปลี่ยนหรือย้อนกลับหากคุณไม่เห็นด้วย ในที่สุดฉันรู้สึกว่านี่เป็นคำถามที่ถูกต้องและดี (cc @slhck)
James Mertz

คำตอบ:


2

เปลี่ยน / var / www

ฉันอยากจะแนะนำให้คุณแก้ไข /etc/apache2/sites-enabled/000-default และเปลี่ยน DocumentRoot และ Directory เพื่อชี้ไปที่บางสิ่งตามแนวของ

DocumentRoot /home/USERNAME/web/

และ

<directory /home/USERNAME/web>

แทนที่จะเป็นคนที่มี / var / www ในพวกเขา

Userdirs

หรือคุณสามารถเปิดใช้งาน Userdirs ได้ง่ายๆ

sudo mv /etc/apache2/mods-available/userdir.* /etc/apache2/mods-enabled/

จากนั้นคุณสามารถเข้าถึงของคุณ /home/USERNAME/public_html ไดเรกทอรีจาก http://127.0.0.1/~USERNAME

หมายเหตุ: ทั้งสองวิธีนี้ต้องการให้คุณรีสตาร์ท apache คุณสามารถทำได้

/etc/init.d/apache2 restart

ฉันหวังว่านี่จะช่วยได้


2
คำแนะนำที่ดี เพื่อความเรียบง่าย userdir สามารถเปิดใช้งานโมดูลด้วย sudo a2enmod userdir.
slhck

ฉันไม่เคยรู้เลยว่ามีสิ่งนั้นขอบคุณ
Marcus Hughes

2

คุณสามารถสร้างกลุ่มผู้ใช้ที่มีสิทธิ์เขียนไปที่ /var/www ไดเรกทอรี ตัวอย่างเช่น, www-users:

sudo addgroup www-users

จากนั้นเพิ่มตัวเองในกลุ่มนั้น:

sudo adduser $(whoami) www-users

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

sudo chgrp www-users /var/www
sudo chmod –R 775 /var/www
sudo chmod g+s /var/www

ตอนนี้คุณจะสามารถสร้างและแก้ไขไฟล์ได้ /var/www ตราบใดที่พวกเขายังอยู่ในกลุ่มของคุณ หากคุณต้องการให้ Apache มีสิทธิ์เขียนคุณสามารถทำได้ adduser www-data www-users เพื่อให้สิทธิ์การเขียนเช่นกัน


มีวิธีที่สิ่งนี้สามารถเขียนขึ้นเป็นสคริปต์ที่ทำงานหลังจากติดตั้งระบบใหม่หรือไม่ เพราะฉันคิดว่าท้ายที่สุดแล้วเป้าหมายของ OP
James Mertz

0

นี่เป็นปัญหาทั่วไปและทางออกที่ดีที่สุดที่ฉันพบคือคนจรจัด

http://www.vagrantup.com

โดยพื้นฐานแล้ว Vagrant เป็นซอฟต์แวร์ที่ทำงานร่วมกับกล่องเสมือนจริงและช่วยให้คุณหมุน VM ได้อย่างรวดเร็ว จากนั้นง่ายมากในการแม็พไดเร็กทอรี / var / www ไปยังโฮมโปรเจ็กต์ การเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นกับไดเรกทอรีนั้นจะปรากฏขึ้นทันทีบนเว็บเซิร์ฟเวอร์

ข้อดีของคนจรจัด:

  • สร้างมาตรฐานให้กับสภาพแวดล้อมสำหรับนักพัฒนาทั้งหมดแม้ว่าจะเป็นรูปกล่อง
  • การลิงก์สัญลักษณ์อัตโนมัติของโฟลเดอร์
  • การติดตั้งอย่างรวดเร็ว / การฉีกขาด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.