この記事では、Java+Nginxを紹介して、POP、SMTPメールボックスの電子メールサービスを実装しています
環境の紹介:
ホスト名:java.iternalsoft.com
IP:192.168.2.163
役割:プロキシサーバーOS:CENTOS7
次のコマンドを使用して、新しくインストールされたサーバー情報を変更します。
HOSTNAMECTL SETNAME CUSTORNAMEコンピューター名の変更SystemCtl FireWalld.Serice SystemCtlはFirewall.Serviceを停止します。
まず、Nginxをインストールする前に、Nginxの倉庫をインストールする必要があります。
yum installhttp://nginx.org/packages/centos/noarch/rpms/nginx-rease-quetos-7-0.ngx.noarch.rpm
レポ倉庫がインストールされた後、nginxのインストールを開始しました
yumインストールnginx
次に、デフォルトのパスを確認します
/etc/nginx/nginx.conf
-name nginxを見つけます
次に、nginxの構成ファイルを構成する必要があります
vim /etc/nginx/nginx.confデフォルトの構成ファイル
構成ファイルのすべてのコンテンツをクリアする必要性を容易にするために、次のコマンドを使用して完了します
echo> /etc/nginx/nginx.conf nginx.confのコンテンツをクリアします
ただし、構成を完了するには、最初にバックアップすることをお勧めします
cp /etc/nginx/nginx.conf /etc/nginx/cginx.conf.bak
その後、もう一度実行します
echo> /etc/nginx/nginx.confクリア設定ファイル
次に、構成ファイルをもう一度編集します
vim /etc/nginx/nginx.conf
次のコードを追加し、自分の環境に従ってコードのコンテンツを保存します。
ユーザーnginx; pid /var/run/nginx.pid; /imail/index.jsp ;
ペースト
次に、NGINXサービスを設定します
Systemctl enable nginx.Service nginx Serviceがランダムスタートアップを開きます
Systemctl start nginx.service nginxサービススタートアップ
SystemCtlステータスnginx.Service nginxサービスの実行
次のステップは、Javaオペレーティング環境(JDK)、Javaオペレーティング環境をインストールし、こちらにTomcatをインストールすることです。
最初の確認は、Linuxが一般的に独自のJava環境を持つJDKであることです
次のステップは、新しいJDKファイルを準備することです
Uname -A
システムのバージョンと数字が32または64ビットかどうかを確認します
x86_64がある場合、64ビットオペレーティングシステム、そうでない場合、それは32ビットです
JDKをダウンロードしてインストールします
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
ウェット
http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-linux-x64.gz?authparam = 1433902875_882334C723CDBC5C9C9C9C9C9C9 DCC9
LSを介してダウンロードされたファイルを確認してから、減圧する必要があります
tar -ZXVF JDK1.8.0 ...... ..
断言して完了し、インストールする必要はありません
次に、CDコマンドを介してこのパスを入力します
/usr//usr/のJavaのディレクトリを作成してから、減圧されたJDKをディレクトリに移動します
CD / USR / USRディレクトリを入力します
Mkdir JavaはJavaフォルダーを作成します
その後、現在のディレクトリjdk1.8を移動できます。...ファイルをJavaディレクトリに断言します
1
MV JDK1.8.xx /usr /java
VIM /etc /プロファイル編集環境変数は環境変数を追加します
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
java_home jre_home path classpathをエクスポートします
保存後に終了し、システムを再起動して、JDKのバージョンがすでにインストールの新しいバージョンであることがわかります
次は、Tomcatをインストールし、最初にダウンロードする必要があることです
http://tomcat.apache.org/download-80.cgi
Tomcatの公式Webサイトを開いて適切なインストールパッケージを見つけた後、右クリックしてダウンロードリンクをコピーしてWGETを介してオンラインでダウンロードします
ウェット
http://apache.dataguru.cn/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
ダウンロード
ダウンロード後、減圧を開始できます
tar -Zxvf apache_tomcat1.8. -0 tar.gz
減圧が完了します
Apache-Tomcatファイルを/usrに移動する必要があります
MV apache-tomcat /usr
次に、Tomcatサービスを開始します
cd/usr/apache-tomcat18.0.23/bin
./startup.sh
次に、Tomcat関連のサービスポートを確認します
netstat -nlpt
Centos7では、ネットツールサービスを個別にインストールする必要があります
yum install -y net -times
netstat -nlpt
次に、IEブラウザを使用してアクセスします
Apache-Tomcatのデフォルトのサービスポートを変更することもできます
apache-tomcat/conf/server.xmlの下
hashenv.put(context.security_authentication、 "simple"); hashenv ); // hashenv.put(com.sun.jndi.ldap.connect.timeout、3000); ":"+port); "); system.out.println(" mailserver: " + attrs.get(" mailserver ")。get()); string attdomain = attrs.get(" mail ")。get()。 = attcn.split( "、"、 "、")0] .split( "=")[1]+" return attcn.split( "、"、 ")[0] .split(" = ")[1];
次に、Javaランニングプログラム、実際には.Warパッケージをカスタマイズする必要があります
プログラムを定義した後、プログラムのコードを.WARパッケージとしてエクスポートし、WinSCPまたはマウントによるTomcatのインストールディレクトリに基づくWebAppにコピーします。
Tomcatサービスが開始された後、ブラウザを介して500ページをプロンプトすることができます。
次に、コードをテストする問題があるので、次のコマンドを介してテストします。
curl -H'auth -User:iiosoft '-H' auth -pass:123 '-H' auth -protocol:pop3 '
http:// localhost:8080/imail/index.jsp
通常、Auth-Sever、Auth-Status、Auth-Ports、Auth-Out-Pass、その他の情報などの情報を返すことができます。しかし、検証プロセス中に、コードを検証できず、コードが実際に問題ではないことがわかります。
データの確認を見つけた後、Nginxはauth-serverがサーバーのIPアドレスである必要がある場合、LDAPで返す必要があります。
hashenv.put(context.security_authentication、 "simple"); Hashenv ); // hashenv.put(com.sun.jndi.ldap.connect.timeout、3000); ":"+port); "); system.out.println(" mailserver: " + attrs.get(" mailserver ")。get()); system.out.println(" mailserver: " + attrs.get(" mail "); string aditionomain = attrs.get( "mail")。get()。toString(); string attcn = attrs.get( "mailserver")。 0] .split( "=")[1]+" 、 ")[0] .split(" = ")[1]; return inet4Address.getByname(attserver).gethostAddress()。toString();
次に、コードを変更することで問題を解決できます。
それを解決する方法は、初期化する前に、LDAPでユーザーのMailServerとMailAddrssの値を取得することを考えました。 a1.duin.com;
IPに変換した後、再度テストします。
また、Outlookを通じてテストしました
テストが成功した後、DNSに192.168.2.163に解析を追加し、nginxエージェントSMTPを介して再度テストします。nginx.confを編集して構成ファイルを追加する必要があります。ファイル
サーバー{
聞く25;
プロトコルSMTP;
SMTP_AUTHログインプレーン;
xclientオフ;
}
注:nginxの下にSMTPプロキシを追加するため、SMTPサーバー領域を追加します
再び再取得するように追加した後、プロンプトnginxの再起動に失敗しました
プロンプトポートが使用されており、システムに付属するポストフィックスが開始されたと思います
systemctl stop postfix
systemctlはpostfixを無効にします
次に、nginxを再起動します
Outlook構成を通じてテストします
上記は、この記事のすべての内容です。