In diesem Artikel wird Java+Nginx eingeführt, um POP, IMAP und SMTP -Mailbox -E -Mail -Agentur zu implementieren
Umwelteinführung:
Hostname: java.iternalsoft.com
IP: 192.168.2.163
Rollen: Proxy Server OS: CentOS7
Wir ändern die neu installierten Serverinformationen über den folgenden Befehl:
Hostnamectl setName benutzerdefinierte
Zunächst haben wir den Nginx -Dienst installiert.
Yum installhttp: //nginx.org/packages/centos/noarch/rpms/nginx-rease-quetos-7-0.ngx.noarch.rpm
Nachdem das Repo -Lagerhaus installiert war, begannen wir, Nginx zu installieren
Yum install nginx
Überprüfen Sie als Nächstes den Standardpfad
/etc/nginx/nginx.conf
Finden Sie -name nginx
Als nächstes müssen wir die Konfigurationsdatei von Nginx konfigurieren
Vim /etc/nginx/nginx.conf Die Standardkonfigurationsdatei
Um die Notwendigkeit zu erleichtern, alle Inhalte in der Konfigurationsdatei zu löschen, verwenden Sie die folgenden Befehle, um fertig zu werden
Echo> /etc/nginx/nginx.conf löschen Sie den Inhalt in nginx.conf
Um die Konfiguration zu vervollständigen, wird jedoch empfohlen, zuerst zu sichern
Cp /etc/nginx/nginx.conf /etc/nginx/cginx.conf.bak
Dann wieder laufen
echo> /etc/nginx/nginx.conf Clear Configuration -Datei klare Konfigurationsdatei
Bearbeiten Sie dann die Konfigurationsdatei erneut
Vim /etc/nginx/nginx.conf
Fügen Sie den folgenden Code hinzu und speichern Sie den Inhalt des Codes gemäß Ihrer eigenen Umgebung.
Benutzer nginx; /imail/index.jsp; ;
Paste
Setzen Sie als nächstes den Nginx -Dienst
SystemCTL aktivieren nginx.service nginx Service öffnet zufälliges Startup
Systemctl start nginx.service nginx Service Startup
SystemCTL Status nginx.service Nginx Service wird ausgeführt
Der nächste Schritt besteht
Die erste Bestätigung ist, dass Linux im Allgemeinen JDK mit einer eigenen Java -Umgebung ist
Der nächste Schritt besteht darin, eine neue JDK -Datei vorzubereiten.
Uname -a
Überprüfen Sie, ob die Version und die Ziffern des Systems 32 oder 64 -Bit sind
Wenn es x86_64 gibt, ist das 64 -Bit -Betriebssystem, wenn nicht, es ist 32 -Bit
Laden Sie JDK herunter und installieren Sie sie
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-Downloads-2133151.html
Pow
http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-linux-x64.gz?authparam=14333902875_86823334c723cdbc5c9c9c9c9 DCC9
Wir überprüfen die heruntergeladene Datei über LS und müssen dann dekomprimieren
TAR -ZXVF JDK1.8.0 ...... .. ..
Deklaimieren und abgeschlossen, keine Installation erforderlich
Dann geben wir diesen Pfad über den CD -Befehl ein
Erstellen Sie ein Verzeichnis von Java in/usr/und bewegen Sie dann den dekomprimierten JDK in das Verzeichnis
CD / USR / Geben Sie das USR -Verzeichnis ein
Mkdir Java erstellt einen Java -Ordner
Dann können wir das aktuelle Verzeichnis jdk1.8 verschieben
1
MV jdk1.8.xx /usr /java
VIM /ETC /Profil -Umgebungsvariablen bearbeiten Umgebungsvariablen hinzufügen
Java_home =/usr/java/jdk1.8.0_45
Jre_home =/usr/java/jdk1.8.0_45/jre
Path = $ path: $ java_home/bin: $ jre_home/bin
ClassPath =.: $ Java_home/lib/dt.jar: $ java_home/lib/tools.jar: $ jre_home/lib
Exportieren Sie Java_Home JRE_HOME PATH CLASSPATH
Wir kündigen nach dem Speichern und starten Sie dann das System neu und stellen fest, dass die Version des JDK bereits die neue Version unserer Installation ist
Als nächstes müssen wir Tomcat installieren und zuerst herunterladen
http://tomcat.apache.org/download-80.cgi
Nachdem Sie die offizielle Website von Tomcat geöffnet haben, um das richtige Installationspaket zu finden -klicken Sie auf den Download -Link und laden Sie es online über WGet herunter
pow
http://apache.dataguru.cn/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
Herunterladen
Nach dem Herunterladen können wir beginnen zu dekomprimieren
Tar -Zxvf apache_tomcat1.8. -0 tar.gz
Dekompression vollständig
Wir müssen die Apache-Tomcat-Datei in/usr/verschieben
MV Apache-Tomcat /usr
Als nächstes starten Sie den Tomcat -Service
CD /usr/apache-tomcat18.0.23/bin
./startup.sh
Dann überprüfen wir den Tomcat -verwandten Service -Port
Netstat -nlpt
Nach CentOS7 müssen Sie den Net-Tools-Service separat installieren
Yum install -y net -Times
Netstat -nlpt
Dann verwenden wir den IE -Browser, um zugreifen zu können
Wir können auch den Standarddienstport von Apache-Tomcat ändern
Unter Apache-Tomcat/conf/server.xml
Hashenv.Put (context.security_authentication, "einfach"); Hashenv. ) // Hashenv.put (com.sun.jndi.ldap.connect.timeout, 3000) ":"+port); "); System.out.println (" MailServer: " + attr.get (" MailServer "). Get ()); String apprs.get = attr.get (" mail "). Get (). ToString (); String Attserver = Attcn.split (",", ") 0] .Split (" = ") [1]+". Return attcn.split (",", ") [0] .Split (" = ") [1]; Dann müssen wir das Java -Auslaufprogramm in der Tat das WAR -Paket anpassen
Nachdem wir das Programm definiert haben, werden wir den Code des Programms als WAR -Paket exportieren und ihn dann unter dem Installationsverzeichnis des Tomcats per WINSCP oder Mount kopieren.
Nach dem Start des Tomcat -Dienstes können wir den Browser über 500 Seiten auffordern.
Als nächstes habe ich ein Problem, den Code zu testen, damit wir ihn über den folgenden Befehl testen:
Curl -h'auth -User: iiosoft '-h' auth -pass: 123 '-h' auth -Protocol: pop3 '
http: // localhost: 8080/imail/index.jsp
Wir können Sie normalerweise testen. Aber während des Überprüfungsprozesses wird festgestellt, dass der Code nicht überprüft werden kann und der Code tatsächlich kein Problem ist. Wie kann die Überprüfung fehlschlagen?
Nachdem die Datenbestätigung gefunden wurde, muss NGINX nach LDAP zurückgeben, dass Auth-Server die IP-Adresse des Servers sein muss, wenn der Servername nicht analysiert werden kann, dann können wir nur vom Code transformiert werden.
Hashenv.Put (context.security_authentication, "einfach"); Hashenv. ) // Hashenv.put (com.sun.jndi.ldap.connect.timeout, 3000) ":"+port); "); System.out.println (" MailServer: " + attr.get (" MailServer "). Get ()); System.out.println (" MailServer: " + attr.get (" Mail "); String appantedomain = Attr.get ("mail"). Get (). ToString (); String attcn = attr.get ("mailserver"). Get (). ToString (); String AttServer = Attcn.split (",") [) [ 0] .Split ("=") [1]+". , ") [0] .Split (" = ") [1]; return inet4Address.getByName (AttServer) .GethostadDress (). ToString (); Als nächstes können wir das Problem lösen, indem wir den Code ändern:
Wie man es löst, dachten wir vor unserer Initialität daran, die E -Mail -Server- und MailAddrs -Werte des Benutzers auf LDAP zu erhalten. A1.duin.com;
Nach dem Konvertieren in IP testen wir erneut.
Wir haben auch Outlook getestet
Nachdem der Test erfolgreich ist, fügen wir dem DNS eine Parsen zu 192.168.2.163 hinzu und testen sie dann erneut über den Domänennamen. Dateien
Server {
Hören Sie 25;
Protokoll SMTP;
SMTP_AUTH Login Plain;
xclient aus;
}
Hinweis: Da wir SMTP -Proxies unter nginx hinzufügen, fügen wir den SMTP -Serverbereich hinzu
Nachdem wir es hinzugefügt haben, um den Eingangsrahmen neu zu starten, ist fehlgeschlagen
Wir glauben, dass der schnelle Port verwendet wurde und das mit dem System gelieferte Postfix gestartet wird
SystemCTL Stop Postfix
SystemCTL Deaktivieren Sie Postfix
Dann starten wir Nginx neu
Wir testen die Outlook -Konfiguration durch
Das obige ist der gesamte Inhalt dieses Artikels.