Donnerstag, 12. Januar 2017

Mailversand (Postfix) auf der Entwicklungs VirtualBox

Wir kennen alle das folgende Problem: Mails die im Workflow sind und beim Testen versendet werden.

Situation

Wir bekommen vom Kunden eine Testdatenbank wo Mail-Adressen vorhanden. Sendet jemand beim Testen der GUI oder bei einem andren Test unabsichtlich eine Mail - weil z.B. der Postfix nicht abgeschalten war - läutet kurz darauf das Telefon und jemand sagt "Hallo, sie haben mir gerade eine Mail gesendet über eine Bestellung aus dem letzen Jahr!!?? ".

Dann muss meist lange erklärt werden, warum, weshalb, wieso.

Mit wenigen Schritten kann dem entgegen gewirkt werden.

Enviroment
CentOS Server mit Postfix

Solution
  • Begeben Sie sich in das Verzeichnis /etc/postfix
  • Fügen Sie in dem File main.cf die folgende Zeile hinzu.
virtual_alias_maps = pcre:/etc/postfix/virtual
  • Im File virtual muss dann die nächste Zeile eingefügt werden, wobei die < > nicht angeführt werden.

/.*@.*/ <Ziel Mail Adresse>

  • Neustarten des Postfix

Nun werden alle Mails an die angeführt Ziel-Mail-Adresse gesendet.

Samstag, 7. Januar 2017

Oracle VirtualBox - Website im Hostsystem über URL aufrufen

Um die Website auf  dem  Hostsystem mittels einer URL aufrufen zu können, muss die IP von der VirtualbBox  und der ServerName der Website in der host-Datei eingetragen werden.

Als erstes muss man die IP vom Server und den ServerName ermitteln.

  • Zum ermitteln der IP Adresse auf der Commandline geben wird dort den befehl ip addr ein. In meinem Fall erhalte ich den Output:  inet 10.0.0.44/24 brd 10.0.0.255 scope global dynamic enp0s8
  • Im nächsten Schritt wird abgefragt wie der ServerName im eingetragenen VirtualHost lautet. Mit cat /etc/httpd/conf.d/example_php5.conf lässt sich der gesamte Eintrag anzeigen.
     Erweitert man den Befehl mit grep ServerName erhält man nur den ServerNamen.
  •     Anschließend muss der host-Eintrag im Hostsystem erstellt werden. Unter Windows10 liegt das File im folgenden Pfad C:\Windows\System32\drivers\etc. Öffnen des Files mit den Admin-Rechten.  
  • Erweitern des Files um den Eintrag 10.0.0.44 jwt.php5.auth 
  • Speichern des Files 
  • Nun ist die Seite über die URL erreichbar.

Freitag, 30. Dezember 2016

Oracle VirtualBox - Shared Folder - Virtual Host

Nach dem einbinden des Shared-Folders war der Zugriff für den Apache User nicht erlaubt (Forbidden 403) . Das Verzeichnis konnte zwar gemounted und mittels Symlink in das /var/www/html/ gemounted werden. Auch User und Group war dem Apachen zugewiesen, jedoch ohne Erfolg.

Diese Lösung wurde nur für ein Versuchsprojekt angewendet und deaktiviert gewisse Sicherheitseinstellungen.

Lösung

  • Der apache User wurde der vboxsf Gruppe zugewiesen.
    usermod -a -G vboxsf apache


  • Deaktivieren von selinux
    vim /etc/selinux/config → set SELINUX from enforcing to disabled

  • Erstellen des Links vom Mount zum Zielfolder
    ln -s /media/sf_php5 /mnt/share/php5

  • Entfernen von  /etc/httpd/conf.d/welcome.conf und erstellen eines neuen .config-Files (VirtualHost Eintrag)  vim example_php 5.conf mit folgendem Inhalt.
    <VirtualHost *:80>
        DocumentRoot /mnt/share/php5 
        <Directory /mnt/share/php5>
            Require all granted
        </Directory>
    </VirtualHost>  
  • Neustarten des Server 
    apachectl restart


Oracle VirtualBox - Shared Folder - Konfiguration

In den letzten Tagen war ich gezwungen eine virtuelle Maschine aufzusetzen, welche auf ein gemeinsames Verzeichnis mit dem Hostsystem zugreift. Im folgenden Ablauf zeige ich wie die aufgetretenen Probleme behoben werden konnten.

Enviroment

Host - Windows 10
VirtualBox - Centos 7 
Oracle VirtualBox Version - 5.1.10 
Development Tools are installed gcc version - gcc-Version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) perl version - v5.16.3 
Server version: Apache/2.4.6(Centos) 
Server build: Nov 14 2016 18:04:44

Problem
Bei dem Versucht die Gasterweiterung einzulegen wird dann die folgende Fehlermeldung ausgegeben.



Lösung
Nach mehreren Recherchen konnte ein Weg gefunden werden. 

  • Als erstes muss das Verzeichnis, welches als Shared-Folder verwendet werden soll in der VM als gemeinsamer Ordner definiert werden. Hierzu einfach das Verzeichnis unter den VM Einstellungen in der Rubrik "Gemeinsame Ordner" hinzufügen.



  • Beim Hinzufügen, müssen die folgenden Checkboxen auf angehackt sein.



  • Über den DOWNLOAD konnte die akutelle Version des  VBoxGuestAdditions.iso Files geladen werden. Dieses File muss anschließend in der VM unter der Rubrik "Massenspeicher" als CD-ROM Laufwerk geladen werden.



Auf der Commandline der VM werden nun einige Befehle ausgeführt um die Prozesse am Ziel zu installieren.
  • Als erstes muss das iso-File eingebunden werden

    mkdir --p /media/cdrom 
    cd /media/cdrom/ 
    mount -t auto /dev/cdrom cdrom/ 

    Nun sollten es möglich sein, den Inhalt des .iso-Files auszugeben.
  • Für die nächsten Schritte müssen ein weiteres Repository für YUM eingebunden und Programme installiert werden.

    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
   rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

         yum install bzip2 
    yum group install "Development Tools" 
    yum install dkms 
  • Neustart des Systems
  • Ausführen des Befehles  sh VBoxLinuxAdditions.run im .iso-File
  • Öffnen des Verzeichnis /opt/VBoxGuestAdditions-*/init und ausführen sh vboxadd setup. Sollte es zu Problemen kommen, ist es möglich  in der ersten Zeile der Datei vboxadd den Parameter -x für das Debugging anzuführen. 
          #! /bin/sh -x 


    Wenn der Status von ./vboxadd status folgende Message ausgibt  kann das Verzeichnis gemounted werden.
         The VirtualBox Additions are currently running
  • Nun kann der Shared-Folder hinzugefügt werden
    mount -t vboxsf php5 /mnt/share/php5/


Zusatzinfo vom 03. Jan 2017

Für den Fall, dass Sourcecode verwendet wird ist folgendes zu beachten:

Es kann sein, dass beim Speichern von Files in Windows und bei anschließender Verwendung unter Linux Probleme mit dem Zeilenumbruch auftreten. Eine Möglichkeit dies unter CentOS zu beheben ist, die Verwendung von dos2unix ( yum install dos2unix ). Dies korrigiert die Zeilenumbrüche von Windows auf  Unix Zeilenumbrüche.

In meinem Fall traten ein seltsames Verhalten bei der Verwendung von HTML Code auf.

  • Elemente wie <button ...> wurden falsch angezeigt.
  • Das geänderte HTML File wurde vom Browser nicht geladen, obwohl es im DocumentRoot korrekt vorlag.