Web-palvelin

Tänne ohjelmat

Web-palvelin

ViestiKirjoittaja eero » 28 Elo 2017 07:50

Hallinta tapahtuu ssh:n yli. Ei muuten. Käyttiksenä on Debian 7

Asennetaan normaaliin tapaan
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:
/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/poytyankunta
Viedään kantaan vanhat tiedot phpmyadmin-liittymällä. Muista zipata tietokanta.

Luodaan hakemistoon /etc/apache2/sites-available tiedosto poytyankunta

Tiedoston sisältö:
Koodi: Valitse kaikki
    <VirtualHost *:80>
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !80
    RewriteRule ^/(.*)$ http://www.poytya.fi/$1 [R,L]

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

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

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

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

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

       CustomLog /var/log/apache2/poytyankunta_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 poytyankunta

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

Samalla tavalla luodaan muut sivustot. Esimerkkinä terkkari.
Kopioidaan tiedostot polkuun /var/www/terkkari/
Luodaat tiedosto terkkari polkuun /etc/apache2/sites-available
Tiedosto:
Koodi: Valitse kaikki
    <VirtualHost *:80>
       ServerAdmin eero.lehtinen@poytya.fi
       ServerName www.tk.poytya.fi
       ServerAlias tk.poytya.fi

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

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

       CustomLog /var/log/apache2/terkkari_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 terkkari

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

Jos halutaan estää sivusto
sudo a2dissite terkkari
eero
Site Admin
 
Viestit: 321
Liittynyt: 07 Marras 2007 20:17

Hakemisto-oikeudet

ViestiKirjoittaja eero » 28 Elo 2017 07:51

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
eero
Site Admin
 
Viestit: 321
Liittynyt: 07 Marras 2007 20:17

Sertifikaatit

ViestiKirjoittaja eero » 28 Elo 2017 07:52

Tarvittavat sertifikaattitiedostot ja polut:

/etc/apache2/poytya.fi.key
/etc/apache2/poytya.fi.intermediate.crt
/etc/apache2/poytya.fi.crt

Sertifikaatit.zip


default-ssl:

Koodi: Valitse kaikki
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
   ServerAdmin webmaster@localhost
   DocumentRoot /var/www/poytyankunta
   <Directory />
      Options FollowSymLinks
      AllowOverride None
   </Directory>
   <Directory /var/www/poytyankunta/>
      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/poytya.fi.key
   SSLCertificateChainFile /etc/apache2/poytya.fi.intermediate.crt
   SSLCertificateFile /etc/apache2/poytya.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: 321
Liittynyt: 07 Marras 2007 20:17

FTP-palvelin

ViestiKirjoittaja eero » 28 Elo 2017 07:53

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
<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 terkkari
adduser ftptesti -shell /bin/false -home /var/www/terkkari

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/terkkari

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

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

Postin lähetys

ViestiKirjoittaja eero » 28 Elo 2017 07:54

Asennetaan sendmail
sudo apt-get sendmail-bin sendmail

Lisää tiedostoon /etc/php5/apache2/php.ini polku /usr/sbin/sendmail -t -i ja posta riviltä kommenttimerkki. Rivi näyttää sen jälkeen tältä:
sendmail_path = /usr/sbin/sendmail -t -i

Jos hluaa testata niin luo tiedoston ja siirtyy sivulle ja posti kulkee...
Koodi: Valitse kaikki
<?php
   mail('eero.lehtinen@elehtinen.fi', 'Testiposti', 'Toimiiko??? Entä ääkköset?');
   echo 'Lähetetty matkaan'; // I use this to check that script is end the execution
?>
eero
Site Admin
 
Viestit: 321
Liittynyt: 07 Marras 2007 20:17

Salasanakysely intranet-sivuille

ViestiKirjoittaja eero » 28 Elo 2017 07:55

Lisää polkuun /etc/apache2/apache2.conf tiedostoon:
    # OMA LISAYS ALKAA
    <Directory /var/www/poytyankunta/intranet/>
    Options Indexes FollowSymLinks
    AllowOverride all
    </Directory>
    #OMA LISAYS LOPPUU

Luo polkuun /var/www/poytyankunta/intranet tiedosto .htaccess
Tiedoston sisältö on:
    order deny,allow
    deny from all
    # Sallitaan liikenne verkoista ilman salasanakyselyä
    allow from 192.168.31.0/24
    allow from 192.168.41.0/24
    allow from 192.168.45.0/24
    allow from 192.168.51.0/24
    allow from 192.168.60.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.poytya.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. Sitä kysytään.

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

ÄLÄ LAITA SALASANAA. EI TOIMI. Sitä kysytään.

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 (Ei toimi muuta kuin m$:ssä)
    -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: 321
Liittynyt: 07 Marras 2007 20:17

Varmistus

ViestiKirjoittaja eero » 28 Elo 2017 07:56

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 varmistushekemisto ###
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: 321
Liittynyt: 07 Marras 2007 20:17


Paluu Linux Ohjelmat



cron