[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
howtos:network_services:setup_apache [2015/03/29 13:04 (UTC)] – [USER CGI-BIN] arfonhowtos:network_services:setup_apache [2018/12/23 21:50 (UTC)] – [VIRTUAL HOSTS] Formatting ellendhel
Line 3: Line 3:
 This is a general how to to get a basic httpd service up and running. This is a general how to to get a basic httpd service up and running.
  
-Applies to: \\ +Applies to: 
- Slackware 14.1 (and possibly previous versions) \\ +  Slackware 14.1 (and possibly previous versions) 
- Apache 2 (and possibly previous versions) \\+  Apache 2 (and possibly previous versions) 
 + 
 +====== Basic Setup ====== 
 + 
 +Edit /etc/httpd/httpd.conf - Here is what you care about, change/uncomment the following lines as necessary:
  
-====== BASIC SETUP ====== 
-1) Edit /etc/httpd/httpd.conf - Here is what you care about, change/uncomment the following lines as necessary: 
 <code>vi /etc/httpd/httpd.conf <code>vi /etc/httpd/httpd.conf
  
-  ServerAdmin you@myawesomeserver.com  <---OPTIONAL+  # optional, require a proper DNS configuration 
 +  ServerAdmin you@myawesomeserver.com
   ServerName www.myawesomeserver.com:80   ServerName www.myawesomeserver.com:80
      
Line 34: Line 37:
   CustomLog "/var/log/httpd/access_log" common   CustomLog "/var/log/httpd/access_log" common
      
-  Include /etc/httpd/extra/httpd-autoindex.conf <---OPTIONAL but nice. this creates a directory listing if index.html is missing. +  # Optional but nice. this creates a directory listing if index.html is missing. 
-  Include /etc/httpd/extra/httpd-default.conf   <---OPTIONAL+  Include /etc/httpd/extra/httpd-autoindex.conf 
 +  # Optional 
 +  Include /etc/httpd/extra/httpd-default.conf
 </code> </code>
  
 All other default settings should be good. All other default settings should be good.
  
-2) Make httpd start on boot.+Make httpd start on boot. 
 <code>chmod 755 /etc/rc.d/rc.httpd <code>chmod 755 /etc/rc.d/rc.httpd
 /etc/rc.d/rc.httpd start</code> /etc/rc.d/rc.httpd start</code>
Line 47: Line 53:
  
  
-====== USER DIRECTORIES ====== +====== User Directories ======
-This will allow users to have individual web space (/home/USER/public_html).  These can be accessed from the web by adding "~USERNAME" to the URL. \\ +
-EXAMPLE: \\ +
- http://www.slackware.com/~pat+
  
 +This will allow users to have individual web space (/home/user/public_html).  These can be accessed from the web by adding "~username" to the URL.
  
-1) Edit /etc/httpd/httpd.conf - Here is what you care about, change/uncomment the following lines as necessary:+Example: <nowiki>http://www.slackware.com/~pat</nowiki> 
 + 
 + 
 +Edit /etc/httpd/httpd.conf - Here is what you care about, change/uncomment the following lines as necessary:
 <code> vi /etc/httpd/httpd.conf <code> vi /etc/httpd/httpd.conf
  
Line 62: Line 69:
   Include /etc/httpd/extra/httpd-userdir.conf</code>   Include /etc/httpd/extra/httpd-userdir.conf</code>
  
-2) Edit /etc/httpd/extra/httpd-userdir.conf, change/uncomment the following:+Edit /etc/httpd/extra/httpd-userdir.conf, change/uncomment the following:
 <code>vi /etc/httpd/extra/httpd-userdir.conf <code>vi /etc/httpd/extra/httpd-userdir.conf
  
Line 71: Line 78:
   </Directory></code>   </Directory></code>
  
-3) Restart Apache+Restart Apache
 <code>/etc/rc.d/rc.httpd restart</code> <code>/etc/rc.d/rc.httpd restart</code>
  
  
-====== ENABLE CGI-BIN ====== +====== Enable CGI-BIN ======
-This enables CGI script execution on your webserver.+
  
 +This enables CGI script execution on your webserver.
  
-1) Edit /etc/httpd/httpd.conf - Here is what you care about, change/uncomment the following lines as necessary:+Edit /etc/httpd/httpd.conf - Here is what you care about, change/uncomment the following lines as necessary:
 <code> vi /etc/httpd/httpd.conf <code> vi /etc/httpd/httpd.conf
  
Line 100: Line 107:
   </IfModule></code>   </IfModule></code>
  
-2) Restart Apache+Restart Apache
 <code>/etc/rc.d/rc.httpd restart</code> <code>/etc/rc.d/rc.httpd restart</code>
  
 **HINT:** Your cgi-bin directory will be /srv/httpd/cgi-bin/. The scripts can be accessed by adding /cgi-bin/SCRIPTNAME to the website URL. **HINT:** Your cgi-bin directory will be /srv/httpd/cgi-bin/. The scripts can be accessed by adding /cgi-bin/SCRIPTNAME to the website URL.
  
-EXAMPLE\\ +Example<nowiki>http://www.slackware.com/cgi-bin/awesomescript.pl</nowiki>
- http://www.slackware.com/cgi-bin/awesomescript.pl+
          
-**NOTE: This does not apply to php scripts, see the below for them.**+**NOTE**: This does not apply to PHP scripts, see the below for them.
      
  
  
-====== USER CGI-BIN ====== +====== User CGI-BIN ======
-This will allow users to run CGI scripts out of their /home/USER/public_html/cgi-bin directory. Their scripts can be accessed through their user directories.+
  
-EXAMPLE: +This will allow users to run CGI scripts out of their /home/user/public_html/cgi-bin directory. Their scripts can be accessed through their user directories.
- http://www.slackware.com/~pat/cgi-bin/webform.pl+
  
-1) Setup CGI-BIN as described above.+Example: <nowiki>http://www.slackware.com/~pat/cgi-bin/webform.pl</nowiki>
  
-2) Edit /etc/httpd/extra/httpd-userdir.conf - Here is what you care about, change/uncomment the following lines as necessary:+Setup CGI-BIN as described above. 
 + 
 +Edit /etc/httpd/extra/httpd-userdir.conf - Here is what you care about, change/uncomment the following lines as necessary:
 <code>vi /etc/httpd/extra/httpd-userdir.conf <code>vi /etc/httpd/extra/httpd-userdir.conf
  
Line 128: Line 134:
   </Directory></code>   </Directory></code>
  
-3) Restart Apache+Restart Apache
 <code>/etc/rc.d/rc.httpd restart</code> <code>/etc/rc.d/rc.httpd restart</code>
-====== ENABLE PHP ======+====== Enable PHP ====== 
 [[howtos:network_services:setup_apache_php_mysql|http://docs.slackware.com/howtos:network_services:setup_apache_php_mysql]] [[howtos:network_services:setup_apache_php_mysql|http://docs.slackware.com/howtos:network_services:setup_apache_php_mysql]]
  
-====== VIRTUAL HOSTS ====== +====== Virtual Hosts ====== 
-1) Edit /etc/httpd/httpd.conf - Here is what you care about, change/uncomment the following lines as necessary:+ 
 +Edit /etc/httpd/httpd.conf - Here is what you care about, change/uncomment the following lines as necessary:
  
 <code>vi /etc/httpd/httpd.conf <code>vi /etc/httpd/httpd.conf
Line 140: Line 148:
   Include /etc/httpd/extra/httpd-vhosts.conf</code>   Include /etc/httpd/extra/httpd-vhosts.conf</code>
  
-2) Edit /etc/httpd/extra/httpd-vhosts.conf - Here is what you care about, add one of these entries for each virtual host:+Edit /etc/httpd/extra/httpd-vhosts.conf - Here is what you care about, add one of these entries for each virtual host:
  
 <code>vi /etc/httpd/extra/httpd-vhosts.conf <code>vi /etc/httpd/extra/httpd-vhosts.conf
Line 162: Line 170:
   </VirtualHost></code>   </VirtualHost></code>
  
-3) Restart Apache+Restart Apache
 <code>/etc/rc.d/rc.httpd restart</code> <code>/etc/rc.d/rc.httpd restart</code>
  
-**NOTE:** I run my vhosts as users so, the document roots are under /home/USER directories. Y**ou do not have to do this.** You can put the document roots anywhere you like.+**NOTE:** I run my vhosts as users so, the document roots are under /home/user directories. You do not have to do this. You can put the document roots anywhere you like. 
 + 
 +Example:
  
-EXAMPLE: \\ +/srv/www/htdocs/server1 \\ 
-  /srv/www/htdocs/server1 \\ +/srv/www/htdocs/server2 \\
-  /srv/www/htdocs/server2 \\ +
-  etc... \\+
  
-**NOTE2:** These do not affect your default webserver setting in /etc/httpd/httpd.conf. That web server instance will still work and be the default if a plain IP in used as the URL.+**NOTE 2:** These do not affect your default webserver setting in /etc/httpd/httpd.conf. That web server instance will still work and be the default if a plain IP in used as the URL.
  
  
 howtos:network_services:setup_apache ()