Làm thế nào để thêm thư mục tùy chỉnh, ví dụ phpmyadmin?


11

Như kiến ​​thức của tôi apachelà tối thiểu. Tôi muốn để nó phát triển để tôi có thêm kinh nghiệm với LAMP. Câu hỏi nóng của tôi cho ngày hôm nay là:

Làm thế nào để thêm thư mục tùy chỉnh vào máy chủ web? (ví dụ: phpmyadmin)?

Mục tiêu của tôi là có thể tạo địa chỉ tùy chỉnh với các trang web tùy chỉnh bên trong. Giả sử rằng tôi có thư mục tùy chỉnh của mình tại: /media/my/web/portal1và tôi muốn tải nó khi khách hàng gọi

http://localhost/myportal1 at webbrowser. 

Bạn có thể cho tôi một danh sách các bước với một vài lời giải thích?

Câu trả lời:


26

Chỉnh sửa tệp cấu hình Apache của bạn và thêm Chỉ thị bí danh . Ví dụ: hãy sử dụng tệp mặc định .

sudo -e /etc/apache2/sites-available/default

Tạo bí danh của bạn bằng cách thêm một phần trong chỉ thị Virtualhost :

Alias /database/ "/usr/share/php5/phpmyadmin/"
<Directory "/usr/share/php5/phpmyadmin/">
    Order allow,deny
    Allow from all
    # New directive needed in Apache 2.4.3: 
    Require all granted
</Directory>

Lưu và khởi động lại: sudo /etc/init.d/apache2 restart

Hoặc để tham khảo khác:

sudo -e /etc/apache2/sites-available/default

Và nội dung ...

Alias /myportal1/ "/media/my/web/portal1/"
<Directory "/media/my/web/portal1/">
    Order allow,deny
    Allow from all
    # New directive needed in Apache 2.4.3: 
    Require all granted
</Directory>

Lưu và khởi động lại: sudo /etc/init.d/apache2 restart

Thêm nhiều chỉ thị trong các chỉ thị thư mục , chẳng hạn như

Options Indexes FollowSymLinks 

Xem http://httpd.apache.org/docs/2.2/mod/core.html#directory

Đó là những gì bạn đã sau?


Tôi nghĩ rằng nó là đủ để tải lại apache sau khi thực hiện những thay đổi?
Jo-Erlend Schinstad

ồ - vâng ... cảm ơn Jo-Erland Schinstad

Cảm ơn Cristopher! Đó chỉ là những gì tôi đang tìm kiếm! :)
Adrian K.

Tôi đã thêm dòng này vào phần <Directory> để ngăn lỗi Cấm, hy vọng bản chỉnh sửa sẽ sớm được chấp nhận: Yêu cầu tất cả được cấp
Richard

3
Không cần nối thêm dấu gạch chéo trong tên bí danh. Nó buộc người dùng gõ đúng vào URL. Trong trường hợp như vậy, Bí danh / myportal1 khác với Bí danh / myportal1 /. Lưu ý thiếu dấu gạch chéo.
Gilberto Albino

6

Một cách khác đơn giản hơn là tạo một liên kết mềm từ gốc tài liệu. Ví dụ: nếu gốc tài liệu là "/ var / www" (mặc định trên hầu hết các hệ thống Linux), thì lệnh sau sẽ thực hiện thủ thuật:

sudo ln -s /media/my/web/portal1 /var/www/myportal1

Điều này hoạt động ngay lập tức - bạn thậm chí không cần tải lại máy chủ Apache.


1

Apache là một người dùng trong hệ thống của bạn, giống như bạn, ngoại trừ việc nó không thể đăng nhập. Điều đó có nghĩa là quyền truy cập tệp hoàn toàn giống với Apache giống như đối với bạn. Vì vậy, trước tiên, nếu Apache nên phục vụ một thư mục trong / media / Something, thì Apache phải có quyền truy cập để đọc nó và các tệp của nó.

Thứ hai, để thiết lập một trang web sử dụng thư mục này làm trang chủ, bạn tạo các tệp trang web, như / etc / apache2 / site-Available / your-site. Đây là một phần của cái gọi là vhosting. Có hai loại khác nhau; một dựa trên tên (tên miền) và một dựa trên IP. Thiết lập phổ biến nhất là sử dụng các vhost dựa trên tên. Bạn có thể đọc thêm về điều đó ở đây: http://httpd.apache.org/docs/2.2/vhosts/


Cảm ơn đã tham khảo. Tôi sẽ đào sâu vào đây! :)
Adrian K.

0

Rất đơn giản trong hai dòng:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf

Sau

chỉ cần chỉnh sửa tệp "phpmyadmin.conf"

pico /etc/apache2/conf.d/phpmyadmin.conf

và thay đổi nó thành 'loool' hoặc bất cứ điều gì :)

Alias /loooool /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>

SetEnvIfNoCase User-Agent "^ZmEu" bad_bot
SetEnvIfNoCase User-Agent "^BackDoorBot" bad_bot
SetEnvIfNoCase user-agent "^BlackWidow" bad_bot 
SetEnvIfNoCase User-Agent "^BotALot" bad_bot

sau khi tải lại apache này: D

service apache2 reload

tadaaa: Diao :)

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.