Thay đổi thư mục gốc web htdocs của XAMPP thành thư mục khác


18

Tôi đang cố gắng thay đổi XAMPPthư mục mặc định gốc của web /opt/lampp/htdocsthành một thư mục khác giống như /home/me/Dropbox/public_htmlkhông thành công.

Tôi đã chỉnh sửa tập tin /opt/lampp/etc/httpd.conf

# old line: DocumentRoot "/opt/lampp/htdocs"
DocumentRoot "/home/me/Dropbox/public_html"

#...etc...

# old line: <Directory "/opt/lampp/htdocs">
<Directory "/home/me/Dropbox/Work/public_html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# etc...

Tôi đã làm điều này như đã nói trong bài viết này: Sử dụng Ubuntu One để đồng bộ hóa htdocs?

Sau đó, tôi đã khởi động lại Apachevà tôi gặp lỗi 403về quyền trên mỗi trang tôi đã gọi bằng trình duyệt web.

Vì vậy, tôi đã thay đổi quyền thư mục và tập tin thành 755.

Tôi đã làm điều này như đã nói trong bài viết này:
Tôi nên đặt quyền truy cập tệp nào trên web root?

Vấn đề vẫn không thay đổi, tôi có 403lỗi trên mỗi trang tôi cố gắng tiếp cận với trình duyệt web.

Tôi có cùng một vấn đề về Macviệc sử dụng XAMPP.

Vì vậy, everythig hoạt động tốt nếu thư mục vẫn là bản gốc /opt/lampp/htdocs.

Làm thế nào tôi có thể thay đổi nó một cách chính xác?


Tôi không thể tìm thấy thư mục opt, nó nằm trong thư mục khác hay cái gì đó? Tôi đã tìm kiếm gần như toàn bộ thư mục cài đặt xampp và không thể tìm thấy nó, vui lòng trợ giúp :(

Tôi đã làm điều đó trên một bản Ubuntuphân phối, có thể bạn đang sử dụng một bản phân phối khác? Bắt đầu từ thư mục gốc /tôi sẽ tìm thấy optthư mục.
vitto

Câu trả lời:


15

/opt/lampp/etc/httpd.conf Thay đổi mở không ai và nogroup

<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User nobody
Group nogroup
</IfModule>

đến tên người dùng của bạn và nhóm của bạn


2

Có cùng một vấn đề và đây là những gì tôi đã làm:

Chạy lệnh này để dừng xampp:

sudo /opt/lampp/lampp stop

Mở /opt/lampp/etc/httpd.conf

Thay đổi your_folder thành thư mục bạn muốn sử dụng

 DocumentRoot "/home/username/your_folder"
 <Directory "/home/username/your_folder">

Thay đổi User& Groupgiá trị từ daemonthành:

User nobody
Group nogroup

đặt chmod thành your_folder bằng lệnh này

sudo chmod 777 /home/username/your_folder

Lưu tệp và bắt đầu xampp bằng lệnh này:

sudo /opt/lampp/lampp start

Mở trình duyệt của bạn và nhập url này:

http://localhost/your_folder/

Xong, hy vọng điều này sẽ giúp.


1

Vấn đề là về loại nhóm người dùng trong httpd.conftệp phải được đặt thành staffvà sau đó tôi không cần thay đổi quyền truy cập thư mục trên thư mục tôi muốn sử dụng làm web root.


1

Nếu bạn đang làm điều này để bạn có thể tạo tệp trong thư mục htdocs thì chỉ cần điều hướng đến opt / lampp và sau đó mở trong terminal và viết

sudo chmod 777 htdocs /

Đó là nó!


0

Bạn có thể tạo một liên kết tượng trưng

ln -s /home/username/public_html/ /opt/lampp/yoursymlink 

với tên người dùng "~ tên người dùng" làm liên kết tượng trưng để bạn có thể giữ cùng một vị trí URL

localhost/~username đối với các tệp như nếu bạn đang sử dụng máy chủ Apache mặc định chứ không phải XAMPP.


0

Chỉ cần giải quyết nó theo các bước dưới đây:

  1. Đầu tiên cài đặt xampp bằng các bước sau

    $ sudo cd Downloads && sudo chmod a+x ./your-downloaded-xampp-file.run && sudo ./your-downloaded-xampp-file.run
    
  2. Thay đổi chủ sở hữu tệp của thư mục / opt / lampp. Tên người dùng phải là tên người dùng của tên người dùng thư mục tài liệu mới của bạn

    sudo chown -hR  username:root /opt/lampp
    
  3. biên tập /opt/lampp/etc/httpd.conf

    sudo gedit /opt/lampp/etc/httpd.conf
    
  4. chỉnh sửa đường dẫn gốc tài liệu của bạn để gắn tài liệu windows và các dòng sau

    <IfModule unixd_module>
       User nobody
       Group nogroup
    </IfModule>
    
  5. khởi động lại xampp. Và bạn sẽ thấy lỗi bị cấm đã biến mất


0

Có cùng một vấn đề trong linux 18.3. Không có cái nào ở trên hoạt động chính xác như được mô tả, nhưng sự kết hợp sau đây đã làm:

Trong tệp /opt/lampp/etc/httpd.conf tôi đã thực hiện các thay đổi sau:

Thay thế:

    <IfModule unixd_module>
    User daemon 
    Group daemon
    </IfModule>

bởi:

    <IfModule unixd_module>
    User myusername 
    Group myusername
    </IfModule>

và tiếp tục xuống thay thế:

    DocumentRoot "/opt/lampp/htdocs"
    <Directory "/opt/lampp/htdocs">

bởi

    DocumentRoot "/home/myusername/webdir" 
    <Directory "/home/myusername/webdir"

Do đó, "myusername" là tên người dùng linux của tôi và "webdir" là tên thư mục trong thư mục chính của tôi nơi lưu trữ các tệp php.

Trong thiết bị đầu cuối, dừng lampp trước khi lưu tệp, bắt đầu lại. Trong trình duyệt localhost sau đó sẽ trỏ đến "webdir".


-1

Ở định dạng NTFS, bạn không thể đặt quyền thư mục. Mở /opt/lampp/etc/httpd.conf.

Chỉnh sửa người
dùng computerName
Group computerName

Và sau đó, bạn có thể truy cập các liên kết tượng trưng trong htdocs.


1
Trường hợp được NTFS formatnói trong câu hỏi? Ngoài ra, phần còn lại của câu trả lời dường như không trả lời câu hỏi của OP.
saji89

-2

Chỉ cần tạo một tệp chỉ mục trên htdocsthư mục mới của bạn .


Bạn có thể chỉnh sửa điều này để cung cấp một số chi tiết giải thích làm thế nào để làm điều đó?
Eliah Kagan

không thể hiểu được những gì anh ta đã cố gắng giải thích chỉ trong một dòng
bước sóng

Thêm hướng dẫn sẽ rất hữu ích.
Jos
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.