LoginSignup
0
2

More than 5 years have passed since last update.

Linux 初期設定 自分用メモ crossfish21

Posted at

root以外のユーザを追加する

useradd user21  でユーザ「user21」を追加

passwd user21 で、user21のパスワードを設定する

New password: に、パスワードを入力

新ユーザでログインしてみる

sudoの設定

usermod -G wheel user21  で、user21にsudoを設定する


CentOS6.9は、visudoで設定を書き換える必要があるが、CentOS7は必要が無いみたい


user21でログインし、sudo shutdown -h now でシャットダウンしてみる。できれば問題なし

システムのアップデート

yum -y update  でアップデート実行

Java8のインストール

yum -y install java-1.8.0-openjdk-devel  でインストール
Complete!  と出力されればOK


インストール先は、/usr/share

apacheのインストール

yum -y install httpd

Complete  と出力されればOK

systemctl start httpd
systemctl enable httpd

tomcat8のインストール

useradd -s /sbin/nologin tomcat   で「tomcat」という名前のTOM専用ユーザを作る



cd ~  でホームに移動



curl -OL http://www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.28/bin/apache-tomcat-8.5.28.tar.gz  で、tomcatのファイルをダウンロードする

※※※※※※※※  tomcatのバージョン番号は結構頻繁に変わっているみたいなので、tarファイルの解凍に失敗した時などはリンク先を確認しよう        ※※※※※※※



tar zxfv apache-tomcat-8.5.28.tar.gz で解凍する



mkdir /opt/tomcat8   でディレクトリを作る



mv ~/apache-tomcat-8.5.28  /opt/tomcat8   でファイル移動する



chown -R tomcat:tomcat /opt/tomcat8   「/opt/tomcat8」以下のファイル等を、ユーザ名「tomcat」、グループ名「tomcat」で所有者を設定する



/etc/profile  に以下の3行を追加する。※JAVA_HOME=は、JDKのパスにしないと駄目らしい。JREのパスだと、CentOS7ではMAVENで不具合がおきるから

JAVA_HOME=/usr/lib/jvm/java-1.8.0
CATALINA_HOME=/usr/local/opt/tomcat8/apache-tomcat-8.5.28
export JAVA_HOME CATALINA_HOME

source /etc/profile で、環境変数の設定を有効にする


echo $JAVA_HOME  でJAVA_HOMEを確認。/usr/lib/jvm/java-1.8.0 になっていればいいかな



vi /etc/systemd/system/tomcat.service  で、/etc/systemd/system/にtomcat.serviceというファイルを新規作成する。内容は以下

[Unit]
 Description=Apache Tomcat 8
 After=network.target

[Service]
 User=tomcat
 Group=tomcat
 Type=oneshot
 PIDFile=/opt/apache-tomcat8/apache-tomcat-8.5.28/tomcat.pid
 RemainAfterExit=yes

 ExecStart=/opt/tomcat8/apache-tomcat-8.5.28/bin/startup.sh
 ExecStop=/opt/tomcat8/apache-tomcat-8.5.28/bin/shutdown.sh
 ExecReStart=/opt/tomcat8/apache-tomcat-8.5.28/bin/shutdown.sh;/opt/tomcat8/apache-tomcat-8.5.28/bin/startup.sh

[Install]
 WantedBy=multi-user.target


以下の2つのコマンドで、tomcatのサービスを有効にする
chmod 755 /etc/systemd/system/tomcat.service
systemctl enable tomcat



systemctl start tomcat  で、tomcatを起動する
※systemctl stop tomcatで停止、systemctl restart tomcatで再起動になる



systemctl stop firewalld でfirewalldを無効にする



VPSのIP+:8080 をURLに入れて、ブラウザでTOMのtopページに入ってみる
表示されれば成功

MriaDBのjdbcコネクタのインストール

MAVENが必要になるので、最初にインストールを実行する
http://maven.apache.org/download.cgi  で、MAVENのダウンロードリンク先を確認



cd ~/  で、ルートに戻ったほうが作業がやりやすい



curl -OL http://www-eu.apache.org/dist/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz  でダウンロードする
※今回の例はmaven-3.5.2



tar zxvf apache-maven-3.5.2-bin.tar.gz  で解凍する



mv apache-maven-3.5.2 /opt/maven  で、/opt/mavenにファイルを移動する。ディレクトリは任意のところでいい


vi /etc/profile.d/maven.sh で、/etc/profile.dにmaven.shというファイルを新規作成。内容は以下にする

export M2_HOME=/opt/maven
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH=$M2:$PATH


source /etc/profile.d/maven.sh で変更を反映


mvn --version でMAVENのバージョンを確認する。MAVENの情報が表示されればOK



git clone https://github.com/MariaDB/mariadb-connector-j.git で、GITを使用してMariaDBのJDBCを入手。
ソースをダウンロードしてMAVENでビルドする方法らしい



現在のディレクトリに、mariadb-connector-jというディレクトリが作成される
cd mariadb-connector-j/ でmariadb-connector-jに移動する


mvn -Dmaven.test.skip=true package で、ビルド開始。結構時間がかかる。BUILD SUCCESSと表示されればOK



/target/ に、mariadb-java-client-*.*.*.jarというファイルが作成される。これがJDBCドライバ。


mariadb-java-client-*.*.*.jarを、/opt/tomcat8/apache-tomcat-8.5.28/libにコピーする


MriaDBのjdbcコネクタのインストール

MAVENが必要になるので、最初にインストールを実行する
http://maven.apache.org/download.cgi  で、MAVENのダウンロードリンク先を確認



cd ~/  で、ルートに戻ったほうが作業がやりやすい



curl -OL http://www-eu.apache.org/dist/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz  でダウンロードする
※今回の例はmaven-3.5.2



tar zxvf apache-maven-3.5.2-bin.tar.gz  で解凍する



mv apache-maven-3.5.2 /opt/maven  で、/opt/mavenにファイルを移動する。ディレクトリは任意のところでいい


vi /etc/profile.d/maven.sh で、/etc/profile.dにmaven.shというファイルを新規作成。内容は以下にする

export M2_HOME=/opt/maven
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH=$M2:$PATH


source /etc/profile.d/maven.sh で変更を反映


mvn --version でMAVENのバージョンを確認する。MAVENの情報が表示されればOK



git clone https://github.com/MariaDB/mariadb-connector-j.git で、GITを使用してMariaDBのJDBCを入手。
ソースをダウンロードしてMAVENでビルドする方法らしい



現在のディレクトリに、mariadb-connector-jというディレクトリが作成される
cd mariadb-connector-j/ でmariadb-connector-jに移動する


mvn -Dmaven.test.skip=true package で、ビルド開始。結構時間がかかる。BUILD SUCCESSと表示されればOK



/target/ に、mariadb-java-client-*.*.*.jarというファイルが作成される。これがJDBCドライバ。


mariadb-java-client-*.*.*.jarを、/opt/tomcat8/apache-tomcat-8.5.28/libにコピーする

TOMとapacheの連携

grep AJP /opt/tomcat8/apache-tomcat-8.5.28/conf/server.xml のコマンドで、server.xmlの内容を検索
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" ></Connector> の記述があればOK(最初からあるはず)


httpd -M |grep proxy のコマンドで検索
proxy_moduleと、proxy_ajp_module が確認できればいいと思う(最初からあるはず)


/etc/httpd/modules のディレクトリに、mod_proxy.soとmod_proxy_ajp.soがあることを確認


vi /etc/httpd/conf.d/proxy-ajp.conf  のコマンドで、/etc/httpd/conf.d/に"proxy-ajp.conf" という名前でファイルを作成。内容は以下のようにする

<Location /TEST01>
        ProxyPass ajp://localhost:8009/TEST01
        Order allow,deny
        Allow from all
</Location>
<Location /TEST02>
        ProxyPass ajp://localhost:8009/TEST02
        Order allow,deny
        Allow from all
</Location>

※ TEST01、TEST02はアプリケーション名。同じように追加すれば、ほかのアプリもできる


/opt/tomcat8/apache-tomcat-8.5.28/conf にある、server.xmlの以下の部分をコメントアウトする

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" ></Connector>



systemctl restart tomcat でTOMを再起動



systemctl restart httpd  でapacheを再起動  ※tomを再起動して、apacheを再起動する順番が必須らしい


これで、:8080をURLに入れなくてもOKになるはず

javaでDB接続する

MariaDB Javaコネクターのインストールをしてあることが前提



/opt/tomcat8/apache-tomcat-8.5.28/conf/server.xml  の内容は以下のような感じ

  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" ></Resource>
    <Resource auth="Container" defaultAutoCommit="false" driverClassName="org.mariadb.jdbc.Driver"
              factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
              initialSize="1" maxIdle="1" maxWaitMillis="-1" name="jdbc/globalDBConnect" password="blueAxe21"
              type="javax.sql.DataSource" url="jdbc:mariadb://localhost:3306/DB01?characterEncoding=utf8mb4" username="user21"></Resource>
  </GlobalNamingResources>


        <Realm className="org.apache.catalina.realm.LockOutRealm">
        <!-- This Realm uses the UserDatabase configured in the global JNDI
             resources under the key "UserDatabase".  Any edits
             that are performed against this UserDatabase are immediately
             available for use by the Realm.  -->
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"></Realm>
        <Realm className="org.apache.catalina.realm.DataSourceRealm" dataSourceName="jdbc/globalDBConnect"
             roleNameCol="roleName" userCredCol="passWord" userNameCol="userCode" userRoleTable="role_manage" userTable="user_manage"></Realm>
      </Realm>

firewalldの設定

yum -y install iptables-services  で、iptablesを使えるようにする(CentOS7はfirewalldが本来なので、デフォルトでは使えない


systemctl stop iptables  で、iptablesをストップ

systemctl mask iptables ※これを実行すると、OS起動時にもiptablesが起動しないようになる
systemctl list-unit-files | grep iptables で、iptables.service  masked と表示されればOK



systemctl start firewalld
systemctl enable firewalld
でfirewalldを起動

systemctl status firewalld でfirewalldの状態を確認



以下のコマンドで、各ポートを許可する  ※WEBサーバー用途なら、SSH・HTTP・HTTPDだけでいい
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=smtp --permanent
firewall-cmd --add-service=smtps --permanent
firewall-cmd --add-service=pop3 --permanent
firewall-cmd --add-service=pop3s --permanent
firewall-cmd --add-service=imap --permanent
firewall-cmd --add-service=imaps --permanent


firewall-cmd --reload  で、設定を反映するため再起動する



firewall-cmd --list-service で、設定を確認する


firewall-cmd --list-port  で、一応開けているポート番号が見える

javaアプリのデプロイと、tomcat,apacheの再起動

/opt/tomcat8/apache-tomcat-8.5.24/webapps/ に、javaアプリのwarファイルをコピーする(今回の例ではTEST01、TEST02)


※以下は、tomcat・apacheをインストール・設定してからの作業になる
systemctl restart tomcat  で、tomcatを再起動

systemctl restart httpd で、apacheを再起動



systemctl start firewalld で、firewalldの設定を有効にする



※これで、TEST01やTEST02のアプリが接続できるようになっているはず
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2