Permalinks i WordPress med Nginx

For å få pene URL’er i WordPress når man kjører Nginx kan man legge inn følgende i Nginx Directives:

       location / {
                try_files $uri $uri/ /index.php?$args;
       }
 
       # Add trailing slash to */wp-admin requests.
       rewrite /wp-admin$ $scheme://$host$uri/ permanent;
 
       location ~*  .(jpg|jpeg|png|gif|css|js|ico)$ {
                expires max;
                log_not_found off;
       }
Tagged with: ,
Posted in ISPCONFIG 3, WEB

Installere Ajenti på Raspberry Pi

Slik kan du installere Ajenti på din Raspberry Pi.

echo "deb http://repo.ajenti.org/debian main main" | sudo tee -a /etc/apt/sources.list 
wget http://repo.ajenti.org/debian/key -O- | sudo apt-key add - 
sudo apt-get install python-pip 
sudo apt-get install python-dev 
sudo apt-get install libevent-dev 
sudo pip install -U gevent 
sudo pip install greenlet==dev apt-get update && apt-get install ajenti
Tagged with: ,
Posted in APPLIKASJONER, BASH, DEBIAN, DISTRUBUSJONER, E-POST, ISPCONFIG 3, KLIENT, Kontrollpanel, Linux, MySql, OPERATIONS MANAGER, OS, POWERSHELL, RASPBERRY PI, SCRIPT, Server, UBUNTU, WEB, Windows, Windows 7, Windows Server 2008, WINDOWS SERVER 2012

Amavis minneforbruk & child-prosesser

På en e-post server med lite minne, som ikke har veldig mye innkommende epost kan det være greit å få ned minneforbruken til Amavis.
Dette kan gjøres ved å sette ned antall child-prosesser Amavis bruker.

nano /etc/amavis/conf.d/50-user

Se nederst i fila forandrer du slik at den ser slik ut:

...
# Setter maks antall child-prosesser

$max_servers = 1;

#------------ Do not modify anything below this line -------------
...
nano /etc/postfix/master.cf

Finn linja og sett tallet til det samme som du skrev inn over hvis du satte det til noe annet en 1.

amavis unix - - - - 1 smtp

Deretter må du restarte Amavis og reloade Postfix, det gjøres ved å kjøre følgende kommandoer som root.

/etc/init.d/amavis restart
postfix reload

Dette oppsettet fungerer helt fint så lenge du ikke mottar mer enn 1 e-post pr. ca 20 sekunder,
mottar serveren mer epost, bør du vurdere å sette antall child-prosesser opp til 2, eller mer..

Tagged with: , , ,
Posted in Epost, Linux, Server

ISPConfig 3 og backup MX

Når man drifter sin egen epost server kan det være greit å vite at selv om den skulle gå offline, så vil eposten komme frem når en klarer å stable den på beina igjen.
Og her kommer backup MX inn i bilde.

I ISPConfig 3 har man muligheten til å sette på et ekstra epost server som kan ta over hvis hoved serveren din går ned, men dette krever dog endel ekstra resurser.
Jeg fant at en liten epost server trenger ikke så mye ressurser, så jeg satte opp min egen på en liten VPS med 128MB.

Først måtte jeg installere følgende pakker:

# apt-get install php5 php5-cli php5-mysql postfix

Så måte jeg konfigurere Postfix til å være et relay:

# nano /etc/postfix/main.cf
myhostname = mx2.eksempel.no
mydomain = eksempel.no
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname

smtpd_banner = $mydomain MX Backup
biff = no

alias_maps = 

relay_domains = hash:/etc/postfix/relay_domains
relay_recipient_maps = hash:/etc/postfix/relay_recipients
queue_run_delay = 200s

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks,
  reject_non_fqdn_hostname,
  reject_non_fqdn_sender,
  reject_non_fqdn_recipient,
  reject_unauth_destination,
  reject_unauth_pipelining,
  reject_invalid_hostname,
  reject_rbl_client zen.spamhaus.org
smtpd_helo_required = yes
disable_vrfy_command = yes
smtpd_data_restrictions =
  reject_unauth_pipelining,
  permit

For å få love å hente ned domenene og brukerne fra ISPConfig må du lage en ny MySQL bruker til databasen som gjører ISPConfig, og gi brukeren tilgangen SELECT til databasen dbispconfig.

For å hente domene og mottakerne fra databasen brukte jeg et php-script:

nano /etc/postfix/map_relay.php

 

<?php 

$link = mysql_connect('mx1.eksempel.no', 'databasebruker', 'databasepassord'); 

if(!$link) die; 

mysql_select_db('dbispconfig', $link); 

$result = mysql_query('SELECT `domain` FROM `mail_domain` WHERE `active` = "y"'); 
create_map($result, 'domain', '/etc/postfix/relay_domains'); 

$result = mysql_query('SELECT `source` FROM `mail_forwarding` WHERE `active` = "y"'); 
create_map($result, 'source', '/etc/postfix/relay_recipients'); 

$result = mysql_query('SELECT `email` FROM `mail_user` WHERE `disabledeliver` = "n"'); 
create_map($result, 'email', '/etc/postfix/relay_recipients', 'a'); 

exec('/usr/sbin/postmap hash:/etc/postfix/relay_domains & /usr/sbin/postmap hash:/etc/postfix/relay_recipients'); 

function create_map($result, $key, $file, $type = 'w') 
{ 
        if(mysql_num_rows($result) == 0)return false; 

        $content = ''; 

        while($row = mysql_fetch_array($result)) 
        { 
                $content .= $row[$key]."tOKn"; 
        } 

        write_file($file, $content, $type); 
} 

function write_file($file, $content, $type = 'w') 
{ 
        $handle = fopen($file, $type); 
        fwrite($handle, $content); 
        fclose($handle); 

        return; 
}

Så må en kjøre scriptet, hente relay_domains og relay_recipients, og så restarte Postfix slik at de nye innstillingene fungerer.

# php /etc/postfix/map_relay.php
# postmap hash:/etc/postfix/relay_domains
# postmap hash:/etc/postfix/relay_recipients
# /etc/init.d/postfix restart

Så, for å slippe å kjøre de siste kommandoene for hver gang jeg legger til en ny epost bruker  legger jeg det inn i crontab.

# crontab -e

Denne linja gjør at det kjøres en gang i timen.

0 * * * * /usr/bin/php /etc/postfix/map_relay.php && postmap hash:/etc/postfix/relay_domains && postmap hash:/etc/postfix/relay_recipients

- Test at det fungerer -

Props til tio289 for å ha laget scriptene! Orginal post på HowToForge finnes her.

 

Posted in Epost, ISP Config, Linux, MySql, Server, Sikkerhet

Hvordan skifte tidssone i Ubuntu server

Når man leier en dedikert server eller VPS fra en leverandør i utlandet er somregel tidssonen feil.

Det kan være greit å sette den til norsk tidssone om man f.eks. skal kjøre en epost-server eller
hvis man en gang i bland ser igjennom loggene på serveren.

For å sjekke hvilke tidsone serveren alt er i:

# date

Er tidssonen feil så kan den enkelt forandres:

# sudo dpkg-reconfigure tzdata

Så følger du instruksjonene som kommer opp i terminalen.

 

Posted in Linux, Server

Hvordan få fail2ban til å bruke mindre minne

fail2ban har en tendens til å bruke mye minne, noe som er unødvendig, iallefall hvis du du har en VPS med veldig lite minne!
For å få ned minnebruken må en først redigere konfigurasjonsfila til fail2ban

 nano /etc/default/fail2ban

Nederst i fila, legg til den uthevende linjen

# This file is part of Fail2Ban.
#
# Fail2Ban is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# Fail2Ban is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Fail2Ban; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# Author: Cyril Jaquier
# 
# $Revision: 1.2 $

# Command line options for Fail2Ban. Refer to "fail2ban-client -h" for
# valid options.
FAIL2BAN_OPTS=""
ulimit -s 256

For å ta i bruk de nye innstillingene må en restarte fail2ban:

# sudo /etc/init.d/fail2ban stop
# sudo /etc/init.d/fail2ban start

 

Posted in Linux, Server, Sikkerhet

Deaktivere Clamav og Amavis i Postfix

Først må du fjerne filterene fra Postfix konfigurasjonsfilen:

nano /etc/postfix/main.cf

Kommenter ut følende linjer slik:

# content_filter = amavis:[127.0.0.1]:10024
# receive_override_options = no_address_mappings

For at endringen skal tre i kraft kjør følgende kommando:

/etc/init.d/postfix restart

For å stoppe servicene og sørge for at de ikke starter oppigjen ved omstart av serveren kjør følgende kommandoer:

/etc/init.d/clamav-daemon stop
/etc/init.d/clamav-freshclam stop
/etc/init.d/amavis stop

update-rc.d -f clamav-daemon remove
update-rc.d -f clamav-freshclam remove
update-rc.d -f amavis remove
tarview() {
    echo -n "Displaying contents of $1 "
    if [ ${1##*.} = tar ]
    then
        echo "(uncompressed tar)"
        tar tvf $1
    elif [ ${1##*.} = gz ]
    then
        echo "(gzip-compressed tar)"
        tar tzvf $1
    elif [ ${1##*.} = bz2 ]
    then
        echo "(bzip2-compressed tar)"
        cat $1 | bzip2 -d | tar tvf -
    fi
}
Tagged with: , , , ,
Posted in Epost, ISP Config

Hvordan redusere minnebruken til Bind9

Bind9 er en fantiastisk DNS server, men den kan tiltider bruke mye minne, så hvis du for eksempel har en liten VPS kan det være greit å redusere minnebruken litt.

Først må du åpne filen:

nano /etc/default/bind9

Så forandrer du den nederste linja slik at den ser slik ut:

OPTIONS="-u bind -n 2"

For at endringen skal tre i kraft må du restarte Bind9:

sudo /etc/init.d/bind9 restart

 

Tagged with: , , , ,
Posted in Epost, Linux, Server