VonJonas

Schweinegeschnetzeltes mit Gemüse

Zubereitungszeit: | 40 Minuten  Fertig in: 40 Minuten  

Zutaten für 2Portion(en) 

Zutaten

  • 280 g Schweinefleisch (Schnitzel)
  • 1/2 TL Chiliflocken 
  • 2 mittelgroße(s) Zucchini (klein)
  • 4 TL Sojasauce 
  • 1 mittelgroße(s) Zwiebel(n) (mittelgroß)
  • 2 mittelgroße(s) Karotte(n) 
  • 1/2 mittelgroße(s) Paprika (gelb)
  • 3 Zehen Knoblauch 
  • 1/2 TL Ingwer (gerieben)
  • 4 TL Erdnussöl 
  • 1 TL Mehl 
  • Salz 
  • Pfeffer 

Zubereitung

  1. Schale von der Zwiebel entfernen und in kleine Stücke hacken. Erdnussöl mit den Chiliflocken in der Pfanne erhitzen, dann die Zwiebelstückchen darin bei niedriger Temperatur anbraten.
  2. Falls Sie als Beilage Reis bevorzugen, sollten Sie diesen jetzt aufsetzen. Es gilt: Auf einen Teil Reis kommen 1,5 Teile Wasser.
  3. Nun das Schnitzelfleisch abspülen, trocken tupfen, anschließend quer zur Faser in mundgerechte Streifen schneiden. Diese dann in Mehl wenden – dadurch bleibt das Fleisch innen saftig und wird von außen herrlich gebräunt.
  4. In einer anderen Pfanne braten Sie die bemehlten Fleischstreifen ohne Öl auf sehr kleiner Stufe an. Wenden Sie die Streifen erst, wenn eine Seite bereits braun geworden ist.
  5. Alles gründlich waschen. Paprika von Stiel, Kernen und den weißen Rippen befreien. Wer sie nackig mag, schält die Karotten. Dann Zucchini, Karotten und Paprika in schmale, ungefähr 2 Zentimeter lange Streifen schneiden. Dann den Ingwer von der Schale befreien und fein reiben. Knobi pellen, in feine Stücke hacken oder durch die Presse drücken.
  6. Die glasig gebratenen Zwiebelstückchen aus der Pfanne nehmen, beiseite stellen. Auf diese Weise verhindern Sie, dass die Zwiebel beim Braten der anderen Zutaten im Anschluss verkohlt. Dann das Gemüse, geriebenen Ingwer und gehackten/gepressten Knoblauch in die noch geölte Pfanne geben und unter ständigem Rühren bei mittlerer Stufe 4 bis 5 Minuten anbraten. Auf Grund dieser sehr kurzen Garzeit bleibt das Gemüse knackig und behält seine leuchtenden Farben. Danach können Sie die Zwiebelstückchen wieder hinzugeben.
  7. Jetzt ist auch das Fleisch so weit. Mischen Sie die Streifen unter die übrigen Zutaten und kochen Sie alles zusammen noch einmal rund 2 Minuten auf.
  8. Zuletzt mit Pfeffer, Salz und Sojasoße würzen. Verwenden Sie frischen Pfeffer aus der Mühle – er ist aromatischer als die vorgemahlene Variante. Ach, übrigens: Auch der Reis ist inzwischen fertig.
VonJonas

Orangen-Grünkohl-Smoothie mit Ingwer

Zubreitungszeit: 3 Minuten | Fertig in: 3 Minuten  

Zutaten für 1 Portion 

Zutaten

  • 2 mittelgroße(s) Orange(n) (geschält)
  • 40 g Grünkohl 
  • 1 Bund Radieschen (plus das Grün!!!)
  • 1/4 l Wasser 
  • 1 Stück(e) Ingwer (frisch, ca. 1cm)

Zubereitung

  1. Zutaten grob zerkleinern.
  2. Alles in einen Mixer geben, mit Wasser auffüllen und fein mixen.
VonJonas

Lauchcremesuppe

Zubreitungszeit: 5 Minuten | 20 Minuten  Fertig in: 25 Minuten
Zutaten für 2Portion(en) 

Zutaten

  • 200 g Lauch 
  • 1 mittelgroße(s) Kartoffel(n) (mehligkochend)
  • 300 ml Gemüsebrühe 
  • 2 EL Sahne 
  • 1/2 Bund Petersilie 
  • Salz 
  • Pfeffer 

Zubereitung

  1. Lauch putzen, längs aufschneiden, waschen und in Ringe schneiden.
  2. Die Kartoffel(n) bei Bedarf waschen, schälen und würfeln.
  3. Lauch und Kartoffelwürfen mit der Gemüsebrühe in einem Topf zum Kochen bringen und anschließend bei mittlerer Hitze zugedeckt ca. 10 Min kochen.
  4. Suppe mit dem Stabmixer fein pürieren, dann die Sahne unterrühren.
  5. Petersilie waschen und trocken schütteln. Die Blättchen abzupfen und fein hacken. Suppe mit Salz und Pfeffer würzen, mit Petersilie bestreuen und servieren.
  • Wer mag garniert die Suppe zusätzlich mit Croutons
VonJonas

Spinat-Thunfisch-Salat

Zubereitungszeit: | 25 Minuten  Fertig in: 25 Minuten
Zutaten für 1 Portion

Zutaten

  • 100 g Thunfisch im eigenen Saft 
  • 1 mittelgroße(s) Paprika (gelb)
  • 100 g Spinat (frisch)
  • 6 mittelgroße(s) Cocktailtomate(n) 
  • 10 Stück(e) schwarze Oliven 
  • 1/2 mittelgroße(s) rote Zwiebeln 
  • 2 EL Petersilie 
  • 1 EL Olivenöl 
  • 1 TL Zitronensaft 
  • 1/2 TL Dijon-Senf 
  • 1/2 Zehe Knoblauch 

Zubereitung

  1. Spinat waschen und trocken schleudern.
  2. Paprika in Streifen schneiden, Tomaten halbieren und Zwiebel in Ringe schneiden.
  3. Thunfisch und Oliven abtropfen lassen und Petersilie klein hacken. Thunfisch, Paprika, Tomaten, Oliven, Zwiebelund Petersilie in einer Schüssel vermengen.
  4. Für das Dressing, Öl mit Zironensaft, Senf und gepresstem Knoblauch verrühren und darüber gießen. Alles gut mischen. Anschließend die Spinatblätter unterheben und mit Petersilie bestreuen.
VonJonas

Kürbis-Kartoffel-Suppe

Zubereitungszeit: | 30 Minuten  Fertig in: 30 Minuten

Zutaten für 4 Portion(en) 

Zutaten

  • 1 kg Kürbis(se) 
  • 2 mittelgroße(s) Zwiebel(n) 
  • 4 mittelgroße(s) Kartoffel(n) (mittelgroß)
  • 2 mittelgroße(s) Karotte(n) 
  • 30 g Butter 
  • 1250 ml Wasser 
  • 1 Prise Cayennepfeffer 
  • Salz 
  • Pfeffer 
  • 1 Prise Muskat 
  • 100 ml Sahne 
  • 2 EL Petersilie 

Zubereitung

  1. Den Kürbis teilen, die Kerne daraus entfernen und grob raspeln (beim Hokkaido-Kürbis kann die Schale mit verarbeitet werden).
  2. Zwiebeln, Kartoffeln und Karotten schälen und würfeln. Die Zwiebelwürfel in zerlassener Butter anbraten. Dann das weitere Gemüse dazugeben und mit anbraten.
  3. Das Wasser dazugeben und alles etwa 20 Minuten garen.
  4. Mit einem Mixstab pürieren und nach Bedarf mit den Gewürzen abschmecken. Zum Schluss die Sahne unterrühren und die Petersilie darüber streuen
VonJonas

odt via php in PDF

The problem

Convert .doc.odt.docx files to .pdf, or another combination (i.e. .docx to .odt)
under PHP.

To solve this problem we’ll install Unoconv,
LibreOffice command tools and build a PHP Class.

Installing

Unoconv is Python tool that uses LibreOffice libs (pyuno).

Instaling LibreOffice command line tools

On a server you’re not required to make a full install of LibreOffice,
just command line and converters that you find on core.

For Ubuntu/Debian:

apt-get install openjdk-6-jdk libreoffice-core libreoffice-common libreoffice-writer libreoffice-script-provider-python

Important:

Installing libreoffice-writer gives you support to convert TEXT documents.
To convert other formats (spreadsheets, presentations, images, etc), install the related LibreOffice package.

For images, consider lighter and well-known tools such ImageMagick;

For converting PDF to Text, consider PDF to Text – you can find it in Poppler-Utils package.

Installing o Unoconv

Installing libreoffice-writer gives you support to convert TEXT documents.
To convert other formats (spreadsheets, presentations, images, etc), install the related LibreOffice package.

For images, consider lighter and well-known tools such ImageMagick;

For converting PDF to Text, consider PDF to Text – you can find it in Poppler-Utils package.

Installing o Unoconv

As root:

cd /tmp
git clone https://github.com/dagwieers/unoconv
cd unoconv/
make install
cd ../
rm -rf unoconv/
unoconv --listener &

So you’ve started LibreOffice/OpenOffice as a service running on a local port,
and you can check with ps aux | grep soffice.

Some warnings:

  • Unlike you can convert only with a LibreOffice/OpenOffice install, using the
    service and unoconv is better for mass intensive operations, because you
    reuse an instance always in memory.
  • unoconv package is already in Debian repositories but that’s an old version.

Showing support formats

unoconv --show

Creating a Deamon

To demonize unoconv (better for server mode), create a file /etc/init.d/unoconvd with the following content:

Fonte )

#!/bin/sh
### BEGIN INIT INFO
# Provides: unoconvd
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 2 3 5
# Default-Stop:
# Description: unoconvd - Converting documents to PDF by unoconv
### END INIT INFO
case "$1" in
    start)
        /usr/bin/unoconv --listener &
        ;;
    stop)
        killall soffice.bin
        ;;
    restart)
        killall soffice.bin
        sleep 1
        /usr/bin/unoconv --listener &
        ;;
esac

The adjust permissions, put on boot and run the daemon:

chmod 755 /etc/init.d/unoconvd
update-rc.d  unoconvd defaults
service unoconvd start

Basic use

It doesn’t matter if you’ve started unoconv manualy or deamonized, you can
use as bellow to convert files:

unoconv --format pdf --output /OUTPUT_DIR/ file.odt

That will convert the file.odt to file.pdf on the informed output directory.

PHP Class

A simple PHP wrapper could be as bellow:

<?php

namespace Unoconv;

/**
* Unoconv class wrapper
*
* @author Rafael Goulart <rafaelgou@gmail.com>
* @see http://tech.rgou.net/
*/
class Unoconv {

    /**
    * Basic converter method
    * 
    * @param string $originFilePath Origin File Path
    * @param string $toFormat       Format to export To
    * @param string $outputDirPath  Output directory path
    */
    public static function convert($originFilePath, $outputDirPath, $toFormat)
    {
        $command = 'unoconv --format %s --output %s %s';
        $command = sprintf($command, $toFormat, $outputDirPath, $originFilePath);
        system($command, $output);

        return $output;
    }

    /**
    * Convert to PDF
    * 
    * @param string $originFilePath Origin File Path
    * @param string $outputDirPath  Output directory path
    */
    public static function convertToPdf($originFilePath, $outputDirPath)
    {
        return self::convert($originFilePath, $outputDirPath, 'pdf');
    }

    /**
    * Convert to TXT
    * 
    * @param string $originFilePath Origin File Path
    * @param string $outputDirPath  Output directory path
    */
    public static function convertToTxt($originFilePath, $outputDirPath)
    {
        return self::convert($originFilePath, $outputDirPath, 'txt');
    }

}

Sample use:

<?php
/**
* Sample use of Unoconv class
*  
*/
require 'Unoconv.php';

use Unoconv\Unoconv;

// Converting to PDF
$originFilePath = 'test.odt';
$outputDirPath  = './';
Unoconv::convertToPdf($originFilePath, $outputDirPath);

// Converting to DOCX
$originFilePath = 'test.odt';
$outputDirPath  = './';
Unoconv::convert($originFilePath, $outputDirPath, 'docx');
VonJonas

E-Mail-Archivierung

E-Mail-Archivierung

Die Notwendigkeit einer Archivierung der elektronischen Post ergibt sich nicht nur aus rechtlichen Grundlagen, die Handels- und Geschäftsbriefe adressierten und heute auch für E-Mail und Fax anzuwenden sind (z.B. §37a HGB, §80 I AktienG, §35a I GmbhG, GoBS).

Abzuleiten aus der aktuellen Gesetzeslage und Rechtssprechung sind also die Pflichten zur Archivierung geschäftlicher E-Mail und zur Signatur mit geschäftlichen Mindestinformationen.

Geschäftliche e-Mails müssen, egal welcher Rechtsgrundlage geschuldet, 6 bzw. 10 Jahre revisionssicher elektronisch auswertbar archiviert werden.

Aber Achtung, es gibt Konfliktpotential mit dem Datenschutz, sofern privater Mailverkehr geduldet bzw. erlaubt ist. Und vor der Anschaffung einer Lösung stehen oft eine Menge Fragen nach Entschlüsselung verschlüsselter Mail, geeigneter Speichertechnologie, Datenschutzaspekten, Viren/SPAM-Filterung usw.

Wir denken gern gemeinsam mit Ihnen nach, wie man den Anforderungen gerecht wird, finden mit Ihnen ein passendes Produkt und installieren/konfigurieren dieses.

VonJonas

PHP 5.6 auf Debian Wheezy installieren

PHP 5.6 ist seit August in der stabilen Version verfügbar und bringt unter anderem verbesserte Syntax, POST-Performance und größere Upload-Dateien.
Im nachfolgenden schildere ich die Installation von PHP 5.6 auf Debian Wheezy.

PHP 5.6 ist die letzte PHP-Version vor der sogenannten PHP-NG – PHP New Generation. Ich möchte hier nicht viel tiefer in die Änderungen von PHP 5.6 eingehen als dass unter anderem Syntax und POST-Performance (die sogar spürbar) verbessert worden sind und einige Funktionen wieder deprecated sind. Die vollständigen Änderungshinweise könnt ihr auf der offiziellen Website nachlesen.

Ich verwende PHP 5.6 auf dieser Seite nun seit etwas über einem Monat und erachte es als stabil genug, diesen Beitrag zu verfassen. Mit WordPress gibt es soweit – bis auf ein paar Hinweise abgesehen – keine Probleme.

PHP 5.6 aus dem dotdeb-Verzeichnis

Da diese Anleitung sich an Anfänger richtet, zeige ich die einfachste Möglichkeit, PHP 5.6 auf Debian Wheezy zu installieren. Im nachfolgenden beschreibe ich die also die Installation des Dotdeb-Verzeichnisses zur bequemen Installation via Paketmanager. So musst du nichts kompilieren.

Das Tutorial kann unter Ubuntu übrigens genauso nachvollzogen werden: Einfach ein sudo vorn anhängen.

Externe Paketquellen können das System gefährden.

Schritt 1: dotdeb-Verzeichnis in den Paketquellen hinzufügen

Öffne die /etc/apt/sources.list mit dem Editor deiner Wahl und füge folgende Zeilen hinzu:

nano /etc/apt/sources.list
deb http://packages.dotdeb.org wheezy-php56 all
deb-src http://packages.dotdeb.org wheezy-php56 all

Schritt 2: GPG-Schlüssel herunterladen und verarbeiten

Aus Sicherheitsgründen muss stets der .gpg-Schlüssel einer externen Paketquelle importiert werden. Dies geschieht mittels

wget http://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg

Schritt 3: Paketmanager aktualisieren

Um die Änderungen zu übernehmen, aktualisiere die Paketquellen des Systems via

apt-get update

Abschluss: PHP 5.6 auf Debian Wheezy installieren

Das wars schon! Nun kannst du alle PHP-Bestandteile des PHP 5.6 Zweiges über den Paketmanager warten und verwalten.  Installiere den Fast-Process-Manager beispielsweise mittels

apt-get install php5-fpm

Für den MySQLi-Client wäre das

apt-get install php5-mysqli

PHP 5.6: Jetzt schon im Produktivbetrieb?

Meiner Einschätzung nach war die Umstellung auf PHP 5.6 im Produktivbetrieb deutlich entspannter als auf PHP 5.5, als der Zend OpCache integriert wurde.

VonJonas

How To Install ISPConfig3 on an Ubuntu 14.04 Server

Introduction

Although the command line is a powerful tool that can allow you to work quickly and easily in many circumstances, there are instances where a visual interface is helpful. If you are configuring many different services on one machine, or administering portions of your system for clients, tools like ISPConfig can make this a much simpler task.

ISPConfig is a control panel for your server that allows you to easily configure domains, email addresses, site configurations, and user accounts. We will be installing the panel on an Ubuntu 14.04 server.

Prerequisites

Before we get started, you should have a domain name pointed at the server that you will be using. To find out how to configure your domain name with DigitalOcean, click here.

You will also need a non-root user with sudo privileges. You can learn how to set up a non-root account by following steps 1-4 in our Ubuntu 14.04 initial server setup guide. Log in as this user to get started.

Upgrade the System

The first thing we should do is upgrade the base system. This will ensure that the packages on our system are the newest packaged versions.

We should update our local package index before we do this so that apt knows about the latest package versions:

sudo apt-get update
sudo apt-get upgrade

Our system should now be up to date and we can get going with the rest of the installation.

Verify Hostnames are Configured Correctly

We will start by making sure our hostnames are configured correctly. In this guide, we are going to be assuming that the domain name that we are setting up is server.test.com and the IP address for the server is 111.111.111.111.

We need to verify that our hostname is configured correctly. We should look at our hosts file:

sudo nano /etc/hosts

It may look something like this:

127.0.0.1           localhost server.test.com server

We want to make our hostnames use our public IP address. You can do this by splitting up the line into two lines and pointing the domain name portion to our public IP address:

127.0.0.1           localhost
111.111.111.111     server.test.com server

Save and close the file when you are finished.

We should also edit our hostname file to make sure that it contains the correct domain name as well:

sudo nano /etc/hostname

If your whole hostname is not displayed, modify the value:

server.test.com

You should make sure the system uses the new value by typing:

sudo hostname -F /etc/hostname

Change System Settings

There are a few items that Ubuntu configures in an unconventional way that we need to undo in order for our software to function properly.

The first thing we need to do is disable AppArmor, which is incompatible with ISPConfig. First, we should stop the service:

sudo service apparmor stop

We can also tell it to unload its profiles by typing:

sudo service apparmor teardown

After this is done, we need to tell our server not to start this service at boot:

sudo update-rc.d -f apparmor remove

We can actually delete all of the associated files and packages by typing:

sudo apt-get remove apparmor

Another configuration that we need to modify is the default system shell. Ubuntu uses the dash shell for system processes, but ISPConfig leverages additional functionality that is provided specifically by bash. We can set bash to be the default system shell by typing:

sudo dpkg-reconfigure dash

At the prompt, select „No“ to have the utility reconfigure the system shell pointer to use bash instead of dash.

Install Additional Components

Now that we have our base system ready to go, we can begin installing some of the services that ISPConfig can manage and some software that supports ISPConfig.

We will be installing basic LAMP (Linux, Apache, MySQL, PHP) components, mail software, anti-virus scanning software for our mail, and other packages.

We will do this all in one big apt command, so this will be a lot of packages installed at once:

sudo apt-get install apache2 apache2-utils libapache2-mod-suphp libapache2-mod-fastcgi libapache2-mod-python libapache2-mod-fcgid apache2-suexec libapache2-mod-php5 php5 php5-fpm php5-gd php5-mysql php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-xcache php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-imap php5-cgi php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libruby memcached phpmyadmin postfix postfix-mysql postfix-doc mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve mailman amavisd-new spamassassin clamav clamav-daemon zoo unzip zip arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl libnet-dns-perl bind9 dnsutils vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl squirrelmail pure-ftpd-common pure-ftpd-mysql snmp

During the installation, you will be asked a few questions. You will be asked to select a language for mailman. Select en (English) to continue. You will also be asked to select and confirm a password for the MySQL administrative user.

Another prompt that you will get is whether to create a self-signed SSL certificate for dovecot. You should select „Yes“. You will have to enter the „commonName“ for your SSL certificate. This is just your fully qualified domain name:

server.test.com

For postfix, you will be asked what kind of mail configuration you need. Select Internet Site. You will then be asked to choose the system mail name. You should set this to your domain name as well:

server.test.com

For phpMyAdmin, the software has the ability to automatically configure itself based on your web server. Select „apache2“ and press „SPACE“ to select that option. Hit „TAB“ then „ENTER“ to make the selection.

Later on, you will asked whether you wish to configure the database for phpMyAdmin with dbconfig-common. Choose „Yes“ here. You will need to enter the password of the MySQL administrator account that you selected above. You can then select and confirm a password for the phpMyAdmin user.

At this point, all of your components should be installed.

Configure the Backend Components

Now that everything is installed, we need to start configuring our services and tools.

Mail Configuration

Let’s start by enabling some functionality in postfix. Open the default configuration file with your editor:

sudo nano /etc/postfix/master.cf

We just need to uncomment some of the lines in this file. Specifically the line that deals with the submission service and the first three option lines beneath, and the smtps service and the first three option lines for that one as well:

submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
. . .
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes

Now, we need to append an additional option under both of these services. It will be the same for each:

submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
. . .
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Save and close the file when you are finished.

Another mail related service that we should configure is mailman, which can handle mailing lists.

We can start off by telling it to create a new list:

sudo newlist mailman

You will be asked to provide the email that will be associated with the list. You will also be asked to select a password.

The script will output a long list of aliases. You should add those to the bottom of the your /etc/aliases file:

sudo nano /etc/aliases

It should look something like this:

postmaster:     root
mailman:              "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Save and close the file after you’re done. You need to make postfix aware of the aliases you added. You can do that by typing:

sudo newaliases

We can start the mailman service by typing:

sudo service mailman start

Restart the postfix service to enable mail changes:

sudo service postfix restart

While we’re dealing with services, we should also stop and disable spamassassin. ISPConfig calls this as needed and it does not need to be running all of the time:

sudo service spamassassin stop

We can then tell the server to not start it again at boot:

sudo update-rc.d -f spamassassin remove

LAMP Configuration

We need to enable mcrypt functionality in PHP:

sudo php5enmod mcrypt

Another thing we need to do is enable some of the Apache modules we installed.

sudo a2enmod rewrite ssl actions include cgi dav_fs suexec dav auth_digest fastcgi alias

We also need to make some adjustments to some of the Apache configuration files.

One of the modules that we enabled will currently intercept all of our PHP files. We want to stop it from doing this. Open the suphp configuration file:

sudo nano /etc/apache2/mods-available/suphp.conf
<IfModule mod_suphp.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-suphp
    </FilesMatch>
        suPHP_AddHandler application/x-httpd-suphp
. . .

We are going to replace the top block with a single command. It should look like this when you are finished:

<IfModule mod_suphp.c>
   AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
   suPHP_AddHandler application/x-httpd-suphp

Save and close the file when you are done.

We are going to have to manually create the symbolic link for the mailman Apache file. We can do that by typing:

sudo ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf

We can then enable that by typing:

sudo a2enconf mailman

If you plan on creating sites that host Ruby files, you should comment out the processing of .rb files in the mime.types file. ISPConfig will handle this itself:

sudo nano /etc/mime.types
application/x-rss+xml                           rss
#application/x-ruby                              rb
application/x-rx

Save and close the file when you are done.

Now, we can restart Apache to implement our changes:

sudo service apache2 restart

Miscellaneous Configuration

We still need to edit a few more pieces of the system.

Since ISPConfig is often used to subdivide server space for reselling purposes, providing clients with FTP access is often a requirement. We’ve already installed the necessary software, but we need to make some adjustments.

Start by editing the FTP server’s configuration:

sudo nano /etc/default/pure-ftpd-common

We need to make sure our FTP users are confined to a chroot environment so that they do not interfere with the rest of the system. We can do this by changing the VIRTUALCHROOT setting to true:

VIRTUALCHROOT=true

Since FTP is inherently insecure we should at least protect it with TLS encryption. We can set this up by creating a flag file that simply contains the 1 character:

sudo nano /etc/pure-ftpd/conf/TLS
1

Now, we need to create a self-signed certificate that the process can use. We can do this by calling:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

This certificate will be valid for one year. You will have to answer some prompts. Fill them out with your information. The Common Name is perhaps the most important part.

We need to lock down the key file afterwards by typing:

sudo chmod 600 /etc/ssl/private/pure-ftpd.pem

When all of this is done, we can restart the service:

sudo service pure-ftpd-mysql restart

This will allow our FTP daemon to use encryption.

One of the reasons we are getting FTP set up on this system is because we have installed a monitoring daemon called awstats that is configured to expect the existence of this service.

ISPConfig will call awstats as necessary, so it does not need to rely on the cron job that is usually used to poll the server. We can remove this by typing:

sudo rm /etc/cron.d/awstats

Install ISPConfig

We are finally ready to install the actual ISPConfig software.

We can do that by downloading the latest stable version onto our server. As of this writing, the latest stable version that has a direct link available is version 3. We will update the installation once we get everything installed.

Now, you should change to your home directory and download the project using wget:

cd ~
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz

After the download is complete, extract the directory structure and move into the install subdirectory of the extracted folder structure:

tar xzvf ISPConfig*
cd ispconfig3_install/install/

Now, we are ready to install the software. Do so by typing:

sudo php -q install.php

You will be taken through a very lengthy installation processes.

Luckily, the only detail you actually need to enter is your MySQL root password! For every other entry, just press „ENTER“ to use the default value and skip ahead.

When you are finished with the installation, go ahead and update to the latest version by typing:

sudo php -q update.php

Again, just press „ENTER“ to use the defaults for each command.

When you are finished, you can visit your ISPConfig service by visiting your domain name followed by :8080 in your web browser:

https://server_domain_name:8080

You will get an SSL warning since we are using self-signed certificates:

Bild fehler meldung zertifikat

Click „proceed“ or „continue“ to accept the certificate.

You will be taken to a login screen.

Admin login screen

The default username and password are both admin:

Username: admin
Password: admin

Enter those values and you will be taken to the ISPConfig3 interface:

Userinterface

Once you get here, you should change the admin user’s password by clicking on the „System“ button, then clicking the „CP Users“ link under the „User Management“ category of the left-hand navigation menu.

Click on the admin user account in the main window. You will have the option to change the password for the admin user on this page.

VonJonas

SSH Root Login unter Debian verbieten

Wenn Sie direkten SSH Root Login unter Debian verbieten wollen, benötigen Sie neben dem Root Benutzer mindestens einen weiteren Benutzer, der sich am Server anmelden darf. Mit diesem Benutzer wechseln Sie dann zum Root Account.

ACHTUNG: Wenn Sie keinen weiteren Benutzer angelegt haben, sperren Sie sich selbst vom System aus!

PermitRootLogin no

Editieren Sie die Datei /etc/ssh/sshd_config und setzen Sie

PermitRootLogin yes

auf

PermitRootLogin no

Starten Sie anschließend den SSH Dienst neu

/etc/init.d/ssh restart (alternativ: service ssh restart)

Nun darf sich Benutzer Root nicht mehr direkt am System anmelden. Sie melden sich ganz normal mit einem Benutzer an und wechseln dann mit

su

in den Root Account.

AllowGroups

Mit dem AllowGroups Parameter können Sie zusätzlich eingrenzen, welche Benutzer sich per SSH einloggen dürfen.

Auszug aus man sshd_config dazu:

AllowGroups

This keyword can be followed by a list of group name patterns, separated by spaces. If specified, login is allowed only for users whose primary group or supplementary group list matches one of the patterns. Only group names are valid; a numerical group ID is not recognized. By default, login is allowed for all groups. The allow/deny directives are processed in the following order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.

Zur Erstellung einer Gruppe mit dem Namen sshusers und ergänzen eines Benutzers in diese Gruppe führen Sie als Root Benutzer folgende Kommandos aus:

addgroup --system sshusers
adduser xyz sshusers

Anschließend konfigurieren Sie in /etc/ssh/sshd_config folgende Optionen:

LoginGraceTime 30
AllowGroups sshusers
PermitRootLogin no
StrictModes yes

Starten Sie anschließend den SSH Dienst neu

/etc/init.d/ssh restart