Debian web-palvelimeksi V.1.4

eero
Site Admin
Viestit: 329
Liittynyt: 07 Marras 2007 20:17

Debian web-palvelimeksi V.1.4

Viesti Kirjoittaja eero »

Asennetaan normaaliin tapaan
Eka käyttis

Poista cd-asema
pico /etc/apt/sources.list

Sit ohjelmia
sudo apt-get install apache2 php5 apache2.2-common libapache2-mod-auth-mysql php5-mysql mysql-server
sudo apt-get install php5-gd

Poistetaan turha virhe RAID:sta koska systeemi on Vmwaressa jos tulee:
/etc/init.d/mpt-statusd stop
apt-get remove mpt-status

Asennetaan moduulit ohjaus ja ssl-salaus päälle:
sudo a2enmod rewrite
sudo a2enmod ssl


Aennetaan imagemagick:
sudo apt-get install imagemagick

Otetaan php:ssä käyttöön:
sudo apt-get install php5-imagick

Asennetaan phpmyadmin
sudo apt-get install phpmyadmin
Lisätään polkuun /etc/phpmyadmin/apache.conf rivi
NameVirtualHost *:443
Alias /phpmyadmin /usr/share/phpmyadmin

Pakotetaan salaus päälle /etc/phpmyadmin/config.inc.php lisäämällä rivi
$cfg['ForceSSL'] = TRUE;


Kopioidaan tarvittavat tiedostot polkuun /var/www/ekasivu
Viedään kantaan vanhat tiedot phpmyadmin-liittymällä. Muista zipata tietokanta.

Luodaan hakemistoon /etc/apache2/sites-available tiedosto ekasivu (Debian 8:ssa (jessie) joutuu laittaa .conf loppuun)

HUOMAA ETTÄ TÄSSÄ ON PAKOTUS HTTPS-yhteyteen

Jos halutaan estää kansioiden selaus niin alta postetaan ensimmäinen Indexes sana ELI
Options Indexes FollowSymLinks MultiViews
muotoon
Options FollowSymLinks MultiViews

Tiedoston sisältö:

Koodi: Valitse kaikki

    <VirtualHost *:80>
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !80
    RewriteRule ^/(.*)$ http://www.ekadomain.fi/$1 [R,L]

#    RewriteEngine on
#    RewriteCond %{SERVER_PORT} !443
#    RewriteRule ^/intranet/(.*)$ https://www.ekadomain.fi/intranet/$1 [R,L]

    RewriteEngine on
    RewriteCond %{SERVER_PORT} !443
    RewriteRule ^/verkot/(.*)$ https://www.ekadomain.fi/verkot/$1 [R,L]

       ServerAdmin webmaster@localhost
       ServerName www.ekadomain.fi
       ServerAlias ekadomain.fi

# Jos halutaan estää kansioiden selaus niin alta postetaan ensimmäinen Indexes sana

       DocumentRoot /var/www/ekasivu
       <Directory />
          Options FollowSymLinks
          AllowOverride None
       </Directory>
       <Directory /var/www/ekasivu/>
          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 /var/log/apache2/ekasivu_error.log

       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn

       CustomLog /var/log/apache2/ekasivu_access.log combined

        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>

    </VirtualHost>
Aktivoidaan sivusto:
sudo a2ensite ekasivu

Käynnistetään apache uusiksi
/etc/init.d/apache2 restart

Samalla tavalla luodaan muut sivustot. Esimerkkinä tokasivu.
Kopioidaan tiedostot polkuun /var/www/tokasivu/
Luodaat tiedosto tokasivu polkuun /etc/apache2/sites-available (Debian 8:ssa (jessie) joutuu laittaa .conf loppuun)
Tiedosto:

Koodi: Valitse kaikki

    <VirtualHost *:80>
       ServerAdmin eero.lehtinen@ekadomain.fi
       ServerName www.tk.ekadomain.fi
       ServerAlias tk.ekadomain.fi

       DocumentRoot /var/www/tokasivu
       <Directory />
          Options FollowSymLinks
          AllowOverride All
       </Directory>
       <Directory /var/www/tokasivu/>
          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 None
          Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
          Order allow,deny
          Allow from all
       </Directory>

       ErrorLog /var/log/apache2/tokasivu_error.log

       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn

       CustomLog /var/log/apache2/tokasivu_access.log combined

        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
    </VirtualHost>
Sallitaan sivusto:
sudo a2ensite tokasivu

Käynnistetään apache uusiksi
/etc/init.d/apache2 restart

Jos halutaan estää sivusto
sudo a2dissite tokasivu


rewrite engine toimimaan

Tarkasta että:
/etc/apache2/apache2.conf on rivit

Koodi: Valitse kaikki

# OMA LISAYS ALKAA
<Directory /var/www/>
    Options FollowSymLinks
    AllowOverride all
    Allow from all
</Directory>
#OMA LISAYS LOPPUU
/etc/apache2/sites-available/ekasivu on kohdissa
AllowOverride All (oletus none)

Sivun juuressa .htaccess

Koodi: Valitse kaikki

RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?page=$1
eero
Site Admin
Viestit: 329
Liittynyt: 07 Marras 2007 20:17

SSL-sertifikaatti

Viesti Kirjoittaja eero »

Tarvittavat sertifikaattitiedostot ja polut:

/etc/apache2/ekadomain.fi.key
/etc/apache2/ekadomain.fi.intermediate.crt
/etc/apache2/ekadomain.fi.crt
Sertifikaatit.zip
default-ssl:

Koodi: Valitse kaikki

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/ekasivu
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/ekasivu/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		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}/ssl_access.log combined

	#   SSL Engine Switch:
	#   Enable/Disable SSL for this virtual host.
	SSLEngine on

	SSLCertificateKeyFile /etc/apache2/ekadomain.fi.key
	SSLCertificateChainFile /etc/apache2/ekadomain.fi.intermediate.crt
	SSLCertificateFile /etc/apache2/ekadomain.fi.crt


	<FilesMatch "\.(cgi|shtml|phtml|php)$">
		SSLOptions +StdEnvVars
	</FilesMatch>
	<Directory /usr/lib/cgi-bin>
		SSLOptions +StdEnvVars
	</Directory>

	BrowserMatch "MSIE [2-6]" \
		nokeepalive ssl-unclean-shutdown \
		downgrade-1.0 force-response-1.0
	# MSIE 7 and newer should be able to use keepalive
	BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

</VirtualHost>
</IfModule>
eero
Site Admin
Viestit: 329
Liittynyt: 07 Marras 2007 20:17

Salasanakysely htaccess

Viesti Kirjoittaja eero »

Lisää polkuun /etc/apache2/apache2.conf tiedostoon:
  • # OMA LISAYS ALKAA
    <Directory /var/www/ekasivu/intranet/>
    Options Indexes FollowSymLinks
    AllowOverride all
    </Directory>
    #OMA LISAYS LOPPUU
Luo polkuun /var/www/ekasivu/intranet tiedosto .htaccess
Tiedoston sisältö on:
  • order deny,allow
    deny from all
    # Sallitaan liikenne verkoista ilman salasanakyselyä
    allow from 192.168.3.0/24
    allow from 192.168.4.0/24
    allow from 192.168.5.0/24
    allow from 192.168.53.0/24
    allow from 192.168.6.0/24
    # allow from 62.121.36.122
    AuthType Basic
    AuthUserFile /var/tunnukset/.kayttajat-intranet
    AuthName "Intranet-sivusto vaatii kirjautumisen"
    require valid-user
    Satisfy any
    # ErrorDocument 401 http://www.ekadomain.fi/401.html
Lopuksi luodaan vielä polkuun /var/tunnukset/.kayttajat-intranet Käyttäjätunnus:Salasanalista
Komento on htpasswd -c /var/tunnukset/.kayttajat-intranet ekakayttaja

ÄLÄ LAITA SALASANAA. Ei toimi. kysytään seuraavaksi

Muut käyttäjät luodaan komennolla htpasswd /var/tunnukset/.kayttajat-intranet tokakayttaja

ÄLÄ LAITA SALASANAA. Ei toimi. kysytään seuraavaksi

Määrityksiä salasanoille:
  • -c luo uuden tiedoston (Jos on jo tiedosto, niin ÄLÄ KÄYTÄ)
    -m kryptaa MD5-muotoon
    -d cryptaa salasanan (Oletus. Ei välttämättä tarvi)
    -p ei kryptaa salasanaa
    -D poistaa käyttäjän
Jos joutuu muuttamaan käyttäjän salasana niin kannattaa poistaa käyttäjä ja luoda uusiksi.
eero
Site Admin
Viestit: 329
Liittynyt: 07 Marras 2007 20:17

FTP-palvelin

Viesti Kirjoittaja eero »

Asennetaan FTP-palvelin:
sudo apt-get install proftpd

Avataan tiedosto /etc/proftpd/proftpd.conf

Poistetaan ipv6 käytöstä
UseIPv6 off

Lisätään tiedoston loppuun:
<Global>
RequireValidShell off
</Global>
DefaultRoot ~ ftpkayttajat (~ = aaltomerkki)
<Limit LOGIN>
DenyGroup !ftpkayttajat
</Limit>


Käynnistetään palvelu uusiksi:
/etc/init.d/proftpd restart

Nyt on kirjautuminen ilman tunnuksia estetty.

Luodaan käyttäjäryhmä ftpkayttajat
addgroup ftpkayttajat

Luodaan käyttäjä ftptesti jonka root-hakemisto on tokasivu
adduser ftptesti -shell /bin/false -home /var/www/tokasivu

Liitetään käyttäjä ftptesti käyttäjäryhmään ftpkayttajat
adduser ftptesti ftpkayttajat

Sitten pitää vielä antaa oikeus ladata tiedostoja palvelimelle
chown -R ftptesti /var/www/tokasivu

Sitten muistin virkistämiseksi:
Salasanan vaihto:
passwd ftptesti
Käyttäjän poisto:
userdel ftptesti
Käyttäjän poisto ryhmästä:
deluser user group
Miten näkee mitkä käyttäjä kuuluu ryhmään
grep 'ftpkayttajat' /etc/group

Anonyymikirjautumista ei sallita
eero
Site Admin
Viestit: 329
Liittynyt: 07 Marras 2007 20:17

Varmistus

Viesti Kirjoittaja eero »

Varmistukset otetaan root-hakemistoon ja kopioidaan sieltä ftp:llä varmistuskoneelle.
Scripti varmistus.sh ajetaan joka yö kello 12:00

Scripti on:

Koodi: Valitse kaikki

#!/bin/sh

NOW=$(date +"%d-%m-%Y")

### Web-palvelimen tallennushakemisto ###
varmistushakemisto="/root/varmistus"

### Poistetaan ja luodaan varmistushakemisto ###
rm -R $varmistushakemisto
mkdir $varmistushakemisto

### Hakemistot jotka varmistetaan ###
DIRS="/etc /var/www"
BACKUP=/root/varmistus
INCFILE="/root/tar-inc-backup.dat"
DAY=$(date +"%a")

### MySQL asetukset ###
MUSER="root"
MPASS="salasana"
MHOST="localhost"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"

### FTP palvelimen asetukset. Asiakasohjelmana ncftp ###
 FTPU="varmistus"
 FTPP="varmistus"
 FTPS="192.168.60.19"
 NCFTP="$(which ncftpput)"

### Varmistetaan tiedostot ###
 FILE="tiedostot.tar.gz"
 tar -zcvf $BACKUP/$FILE $DIRS

### Varmistetaan kannat. Jokaiselle kannalle tulee oma paketti ###
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
 FILE=$BACKUP/$db.gz
 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done


### Siirretaan varmistukset varmistusasemalle ###
### Kaytetaan ncftp###
ncftp -u"$FTPU" -p"$FTPP" $FTPS<<EOF
 mkdir $NOW
 mkdir $FTPD/$NOW
 cd $FTPD/$NOW
 lcd $varmistushakemisto
 mput *
 quit
 EOF
Scriptille annetava suoritusoikeudet komennolla:
chmod a+x varmistus.sh

Ajastetaan suoritettavaksi keskiyöllä:
gedit /var/spool/cron/crontabs/root

Lisätään rivi:
@midnight /root/varmistus.sh
eero
Site Admin
Viestit: 329
Liittynyt: 07 Marras 2007 20:17

Hakemisto-oikeudet

Viesti Kirjoittaja eero »

phpbb3 hakemisto-oikeudet
config.php
666 before installation
644 after installation
All other files - 644
All directories - 755
There are some exceptions when it comes to directory permissions,
The files directory - 777
The cache directory - 777
The store directory - 777
The images/avatars/upload directory - 777

CMS Made Simple:

tmp/templates_c/ - 757
tmp/cache/ - 757
config.php - 646
uploads/ - 757
uploads/images - 757
modules - 757
Vastaa Viestiin