Difference between revisions of "Tung httpd conf"
(→Serving Personal Home Page) |
|||
Line 32: | Line 32: | ||
#* Confirm the context type is correct: <b><code><font color=green >ls -Z public_html</font></code></b> | #* Confirm the context type is correct: <b><code><font color=green >ls -Z public_html</font></code></b> | ||
# Open a browser, and enter <code> http://hostname/~your-user-id/</code>. Your personal page should display. | # Open a browser, and enter <code> http://hostname/~your-user-id/</code>. Your personal page should display. | ||
+ | |||
+ | ===Create a web script in user's home=== | ||
+ | #Login as a root | ||
+ | #Edit configuration file /etc/httpd/conf/httpd.conf again. Add lines | ||
+ | #Restart the Apache server: service httpd restart | ||
+ | #By default, selinux doesn't allow Apache Server to read file inside user's home. Change the default setting: setsebool -P httpd_enable_cgi 1 | ||
+ | #Add context type to make script exexutable. To do that you need to add expressions for cgi file and public_html that more specific that the default expression. | ||
+ | #*For public_html: semanage fcontext -at httpd_sys_script_exec_t "/home/[^/]*/public_html" | ||
+ | #*For cgi files: semanage fcontext -at httpd_sys_script_exec_t "/home/[^/]*/public_html/.+\.cgi" | ||
+ | #*For non-cgi files: semanage fcontext -at httpd_user_content_t "/home/[^/]*/public_html/.+" | ||
+ | #Apply the context: restorecon -vRF public_html | ||
+ | #Logout root | ||
+ | #Create diskfree.cgi and change its permission to executable: chmod 705 /home/user/public_html/*.cgi | ||
+ | #Write lines in diskfree.cgi | ||
+ | #Open a browser, and enter http://hostname/~your-user-id/diskfree.cgi . The disk usage of your computer should be displayed. |
Revision as of 17:40, 27 July 2011
Contents
Running and Configuring Apache Server
Introduction
In this page, you are going to set up a Apache server and allow a user create his own personal web page.
Creating a Public Web Page
- Login as root user
- Configure the Apache server to start when the Fedora is booted:
chkconfig httpd on
- Start the Apache server:
service httpd start
- Create index.html in
/var/www/html/
directory, write some html code in the file - Open a browser, and enter
http://localhost
. Your page should display. - Make web page accesses by other hosts:
iptables -I INPUT -p tcp --dport http -j ACCEPT
Serving Personal Home Page
- Login as root user
- Edit Apache Server configuration file
/etc/httpd/conf/httpd.conf
- Inside IfModule tag, comment “UserDir disable” and uncomment “UserDir public_html”
- Restart the Apache server:
service httpd restart
- Logout root
- Create a public_html directory inside your home directory
- Change the permission of your home directory and the public_html to read and execute for other, so that the server can assess files in public_html by name. Enter follow command:
-
chmod 705 /home/user/public_html
-
chmod 705 /home/user
-
- Create index.html in public_html directory, write some html code in the file.
- Change the permission of index.htm to read only for other:
chmod 704 /home/user/public_html/index.html
- By default, selinux doesn't allow Apache Server to read file inside user's home. Change the default setting:
setsebool -P httpd_enable_homedirs 1
- Check the context of public_html and index
- By default, selinux has
context type httpd_user_content_t
for/home/[^/]*/((www)|(web)|(public_html))(/.+)?
- Confirm the context type is correct:
ls -Z public_html
- By default, selinux has
- Open a browser, and enter
http://hostname/~your-user-id/
. Your personal page should display.
Create a web script in user's home
- Login as a root
- Edit configuration file /etc/httpd/conf/httpd.conf again. Add lines
- Restart the Apache server: service httpd restart
- By default, selinux doesn't allow Apache Server to read file inside user's home. Change the default setting: setsebool -P httpd_enable_cgi 1
- Add context type to make script exexutable. To do that you need to add expressions for cgi file and public_html that more specific that the default expression.
- For public_html: semanage fcontext -at httpd_sys_script_exec_t "/home/[^/]*/public_html"
- For cgi files: semanage fcontext -at httpd_sys_script_exec_t "/home/[^/]*/public_html/.+\.cgi"
- For non-cgi files: semanage fcontext -at httpd_user_content_t "/home/[^/]*/public_html/.+"
- Apply the context: restorecon -vRF public_html
- Logout root
- Create diskfree.cgi and change its permission to executable: chmod 705 /home/user/public_html/*.cgi
- Write lines in diskfree.cgi
- Open a browser, and enter http://hostname/~your-user-id/diskfree.cgi . The disk usage of your computer should be displayed.