I just upgraded my server from Debian 7 to Debian 8. Everything seemed to go fine. However, Apache doesn't seem to be able to see the web files. If I go to my server's IP, I get an empty directory listing, as if the document root was pointed to an empty directory. However, my apache.conf points to /var/www, and there are indeed files the
Code:
root@maples-server:~# ls -la /var/www/ total 624 drwxr-xr-x 5 www-data www-data 4096 Apr 28 19:35 . drwxr-xr-x 13 root root 4096 Mar 28 11:43 .. lrwxrwxrwx 1 www-data www-data 18 Jan 10 20:47 anthony -> /home/anthony/web/ -rw------- 1 www-data www-data 1455 Apr 23 21:41 .bash_history -rw-r--r-- 1 www-data www-data 3388 Jan 21 19:34 .bashrc drwxr-xr-x 11 www-data www-data 4096 Apr 23 21:41 chat lrwxrwxrwx 1 www-data www-data 14 Mar 23 16:20 dad -> /home/dad/web/ drwxr-xr-x 2 root root 4096 Mar 15 05:52 html -rw-r--r-- 1 www-data www-data 323 Mar 26 18:35 index.htm drwx------ 2 www-data www-data 4096 Jan 21 19:50 Mail -rw-r--r-- 1 anthony anthony 592795 Apr 23 19:52 phpfreechat-1.7.tar.gz -rw-r--r-- 1 www-data www-data 41 Apr 15 21:52 robots.txt -rw------- 1 www-data www-data 1541 Apr 23 21:41 .viminfo
Here's my apache.conf (with the comments stripped; there were no "end of line" comments):
Code:
root@maples-server:~# cat /etc/apache2/apache2.conf | grep -v "#" Mutex file:${APACHE_LOCK_DIR} default PidFile ${APACHE_PID_FILE} Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} HostnameLookups Off ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf Include ports.conf <Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> AccessFileName .htaccess <FilesMatch "^\.ht"> Require all denied </FilesMatch> LogFormat "v:p h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %O" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent IncludeOptional conf-enabled/*.conf IncludeOptional sites-enabled/*.conf
I also checked sites-enabled/000-default, and everything seems to be fine the
Code:
root@maples-server:~# cat /etc/apache2/sites-enabled/000-default <VirtualHost *:80> DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride All Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Additionally, the connections are no longer showing up in /var/log/apache2/access.log. The last access time in that file is from before the update. I don't know enough about systemd to know if it is responsible for redirecting the logs to somewhere else...
At this point, I have no idea why it's not working. If anyone could point me in the right direction, I would really appreciate it.
Thanks!
EDIT: After looking around some more, it seems that the output of "apachectl -S" is helpful. So here it is:
Code:
root@maples-server:~# apachectl -S AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message VirtualHost configuration: ServerRoot: "/etc/apache2" Main DocumentRoot: "/var/www/html" Main ErrorLog: "/var/log/apache2/error.log" Mutex ssl-stapling: using_defaults Mutex proxy: using_defaults Mutex ssl-cache: using_defaults Mutex default: dir="/var/lock/apache2" mechanism=fcntl Mutex mpm-accept: using_defaults Mutex watchdog-callback: using_defaults PidFile: "/var/run/apache2/apache2.pid" Define: DUMP_VHOSTS Define: DUMP_RUN_CFG Define: ENABLE_USR_LIB_CGI_BIN User: name="www-data" id=33 Group: name="www-data" id=33
It appears that it's looking in a subdirectory html, which was not the case previously (before the upgrade). I've currently got a (ugly but useable) work-around using a symlink:
Code:
root@maples-server:~# cd /var/www/ root@maples-server:/var/www# rm -r html/ root@maples-server:/var/www# ln -s /var/www/ root@maples-server:/var/www# mv www html root@maples-server:/var/www# ls -l html lrwxrwxrwx 1 root root 9 Apr 28 22:36 html -> /var/www/
While this does work, I'd like to find the proper way of doing it. Any ideas?