Difference between revisions of "Tung httpd conf"
Line 5: | Line 5: | ||
<font face="Georgia">In this page, you are going to set up a Apache server and allow a user create his own personal web page. | <font face="Georgia">In this page, you are going to set up a Apache server and allow a user create his own personal web page. | ||
</font> | </font> | ||
+ | |||
===Creating a Public Web Page=== | ===Creating a Public Web Page=== | ||
Line 13: | Line 14: | ||
# Open a browser, and enter <code> http://localhost </code>. Your page should display. | # Open a browser, and enter <code> http://localhost </code>. Your page should display. | ||
# Make web page accesses by other hosts: <b><code><font color=green >iptables -I INPUT -p tcp --dport http -j ACCEPT</font></code></b> | # Make web page accesses by other hosts: <b><code><font color=green >iptables -I INPUT -p tcp --dport http -j ACCEPT</font></code></b> | ||
+ | |||
===Serving Personal Home Page=== | ===Serving Personal Home Page=== | ||
Line 36: | Line 38: | ||
#* 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=== | ===Create a web script in user's home=== |
Revision as of 21:17, 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”
<IfModule mod_userdir.c>
- #UserDir disable
- UserDir public_html
- </IfModule>
- 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/.+"
- For 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.