- [Show pagesource]
- [Old revisions]
- [[unknown link type]]
- []
create_awstats.sh
#!/bin/sh set -e if [ "$1" = '' ]; then echo "Usage $0 /path/to/some.domain.name.tld" exit 1 else site="$1" fi cd $site mkdir awstats cp /root/awstats.index awstats/index.php test -L www/stats && rm www/stats ln -s $site/awstats www/stats
addsite.sh
#!/bin/sh # creates a new www-site for virtual hosting and sets all needed wwwroot="/var/www" if [ "$1" = '' ]; then echo "Creates a new www-site for virtual hosting and sets all needed." echo "Usage $0 some.domain.name.tld [webmaster@some.domain.name.tld]" exit 1 else site="$1" fi if [ "$2" = '' ]; then webmaster='webmaster@example.com' else webmaster="$2" fi if [ -d "${wwwroot}/${site}" ]; then echo "Site ${site} already exists. Ignoring." echo "" exit 2 fi echo "Creating site ${site} (webmaster: ${webmaster})" echo "Creating directory structure..." mkdir ${wwwroot}/${site} mkdir ${wwwroot}/${site}/www mkdir ${wwwroot}/${site}/logs mkdir ${wwwroot}/${site}/tmp mkdir ${wwwroot}/${site}/stats mkdir ${wwwroot}/${site}/stats2 mkdir ${wwwroot}/${site}/awstats mkdir ${wwwroot}/${site}/errors echo "Creating robots.txt..." cat > ${wwwroot}/${site}/www/robots.txt << EOF User-agent: ia_archiver Disallow: / EOF echo "Creating symlink for /stats..." ln -s -f ${wwwroot}/${site}/awstats ${wwwroot}/${site}/www/stats ln -s -f ${wwwroot}/${site}/stats2 ${wwwroot}/${site}/www/stats2 echo "Creating symlink for /errors..." ln -s -f ${wwwroot}/${site}/errors ${wwwroot}/${site}/www/errors echo "Writing config files:" echo " - Apache" cat > /etc/apache2/sites-available/${site} << EOF <VirtualHost *> # zalozeno: `date +%c` ServerName ${site} ServerAlias *.${site} ServerAdmin ${webmaster} DocumentRoot ${wwwroot}/${site}/www <IfModule mod_php5.c> php_admin_value doc_root '${wwwroot}/${site}' php_admin_value open_basedir '${wwwroot}/${site}:/tmp' php_admin_value sendmail_path '/usr/sbin/phpmail postmaster@${site}' </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^www\.(.+)/(.*)$ [NC] RewriteRule ^.*$ http://%1/%2 [R=301,L] RewriteCond %{REQUEST_URI} ^/webmail/? [NC] RewriteRule ^.*$ https://www.example.com/webmail/ [R=302,L] </IfModule> </VirtualHost> EOF cat > ${wwwroot}/${site}/stats/.htaccess << EOF AuthType Basic AuthUserFile /etc/apache2/.htpasswd AuthGroupFile /dev/null AuthName "statistiky pristupu" <Limit GET POST> require user dast require user dfox require user ${site} </Limit> EOF cp ${wwwroot}/${site}/stats/.htaccess ${wwwroot}/${site}/stats2/.htaccess cp ${wwwroot}/${site}/stats/.htaccess ${wwwroot}/${site}/awstats/.htaccess cp /root/awstats.index ${wwwroot}/${site}/awstats/index.php echo "Setting password for /stats..." passwd=$(pwgen -n -s 8 1) /usr/bin/htpasswd -sb /etc/apache2/.htpasswd ${site} ${passwd} echo "New password for stats set: USER=${site}, PASSWORD=${passwd}" echo "${site} ${passwd}" >> "/etc/awstats/awstats.htpasswd.open.txt" echo "Changing file attributes..." chown -R www-data:www-data ${wwwroot}/${site} find ${wwwroot}/${site} -type d -exec chmod 775 {} \; find ${wwwroot}/${site} -type f -exec chmod 664 {} \; echo "Enabling site ${site}..." /usr/sbin/a2ensite ${site} echo "Reloading Apache..." /etc/init.d/apache2 reload echo "Sending mail to webmaster..." mail -s "Virtualni server ${site} vytvoren" ${webmaster} << EOF Byl aktivovan novy virtualni hosting. Informace o serveru jsou prilozeny na konci e-mailu. Webhosting (generovano automaticky) --- 8< -------------------------------------------- virtualni server: ${site} e-mail webmastera: ${webmaster} jmeno ke statistikam: ${site} heslo ke statistikam: ${passwd} EOF echo "Site ${site} successfully created. DONE. :)" echo "" exit 0
awstats.index
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr ansitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Language" content="cs" /> <title><?= $_SERVER['HTTP_HOST'] ?></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel='stylesheet' href='http://89.250.246.102/awstats-css/css.css' type="text/css" /> </head> <body> <?php $Mesice = array( "01" => "Leden" , "02" => "..nor" , "03" => "B..ezen" , "04" => "Duben" , "05" => "Kv..ten" , "06" => "..erven" , "07" => "..ervenec" , "08" => "Srpen" , "09" => "Z....i" , "10" => "....jen" , "11" => "Listopad" , "12" => "Prosinec" ); echo '<h1>' . $_SERVER['HTTP_HOST'] . '</h1>'; $Seznam = array( ); if ( $handle = opendir( '.' ) ) { while ( $file = readdir( $handle ) ) { if ( preg_match( "#awstats.([^\.]{1,}).([^\.]{1,}).([0-9]{6}).html#" , $file , $output ) ) $Seznam[substr( $output[3] , 0 , 4 )][substr( $output[3] , 4 )] = $file ; } closedir($handle); } krsort( $Seznam ); foreach( $Seznam as $Year => $Rows ) { echo "<fieldset>\n <legend>" . $Year . "</legend>\n"; foreach ( $Mesice as $MesicId => $MesicName ) if ( ! $Rows[$MesicId] ) echo $MesicName . "<br />"; else echo "<a href='" . $Rows[$MesicId] . "'>" . $MesicName . "</a><br />"; echo "</fieldset>"; } ?> </body> </html>
linux/apache/awstats.txt · Last modified: 2010/02/10 00:18 by admin