Ho configurato un server web in modo che quando ho accesso al mio localhost, un bash
esecuzione di script e gli echi di un documento HTML in modo che il browser è in grado di eseguire il rendering. Questo funziona correttamente.
Sto avendo problemi rendendo il lavoro del CSS. Mantiene gettando GET http://172.20.10.6/css/styles.css net::ERR_ABORTED 500 (Internal Server Error)
nella console quando accedendo alla pagina web.
Ho una cartella di nome webserver
(/var/www/webserver
) e all'interno della cartella ho un index.sh
che fornisce il codice HTML con successo e una cartella css
con il styles.css
file.
Questo è il .conf
file per il mio host virtuale:
<VirtualHost *:80>
ServerAdmin user@localhost
ServerName Test
ServerAlias Test
DocumentRoot /var/www/webserver
ScriptAlias "/" "/var/www/webserver/"
<Directory "/var/www/webserver">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/webserver/css">
<Files *.css>
Header set Content-type "text/css"
</Files>
</Directory>
<IfModule dir_module>
DirectoryIndex index.sh
</IfModule>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
E in questo modo ho link al mio file CSS in HTML:
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"css/styles.css\">"
Ma poi la 500 errore, cosa posso fare?
MODIFICA
Questo è il log di errore viene visualizzato quando accedendo alla pagina web:
AH01215: (13)Permission denied: exec of '/var/www/webserver/css/styles.css' failed: /var/www/webserver/css/styles.css, referer: http://172.20.10.6/
End of script output before headers: styles.css, referer: http://172.20.10.6/
Così ho pensato che era tutto sulle autorizzazioni ed eseguito chmod 777 css/styles.css
e riavviato il server.
Ora l'errore che ottengo attraverso la console è: Failed to load resource: the server responded with a status of 500 (Internal Server Error)
e in error.log
file:
AH01215: (8)Exec format error: exec of '/var/www/webserver/css/styles.css' failed: /var/www/webserver/css/styles.css, referer: http://172.20.10.6/
End of script output before headers: styles.css, referer: http://172.20.10.6/
Ho anche provato ad aggiungere AddType text/css .css
in un .htaccess
file o in .conf
file di web server, senza alcun successo. Inoltre, ho mime.load
e headers.load
mod attivata in /etc/apache2/mods-enabled
.
Completa index.sh
:
#!/bin/bash
echo -e "Content-type: text/html\n\n"
echo "<!DOCTYPE html>
<html lang=\"en\" dir=\"ltr\">
<head>
<meta charset=\"utf-8\">
<title>Server Manager</title>
<link rel=\"stylesheet\" type=\"text/css\" href=\"css/styles.css\">
</head>
<body>
<header>
</header>
<nav class=\"menu\">
<ul>
<li class=\"menu-item\">
<span></span>
<div class=\"menu-item-text\">Manage tasks</div>
</li>
<li class=\"menu-item selected\">
<span></span>
<div class=\"menu-item-text\">Monitoring</div>
</li>
<li class=\"menu-item\">
<span></span>
<div class=\"menu-item-text\">Logs</div>
</li>
<li class=\"menu-item\">
<span></span>
<div class=\"menu-item-text\">Users</div>
</li>
<li class=\"menu-item\">
<span></span>
<div class=\"menu-item-text\">Packet handler</div>
</li>
<li class=\"menu-item\">
<span></span>
<div class=\"menu-item-text\">Schedule tasks</div>
</li>
<li class=\"menu-item\">
<span></span>
<div class=\"menu-item-text\">Music</div>
</li>
</ul>
</nav>
<div class=\"content\">
<div class=\"title\">Log in</title>
</div>
</body>
</html>"