CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
Apache OpenMeetingsは、オープンソースのWeb会議アプリケーションです。Javaで書かれており、複数のデータベースサーバーをサポートしています。オーディオおよびビデオ会議、画面共有、ファイルエクスプローラー、ユーザーモデレーションシステム、プライベートメッセージと連絡先、会議計画用の統合カレンダーなど、多くの機能を提供します。会議セッションを記録することもできます。SOAP / REST APIと複数のプラグインを提供し、Moodle、Jira、Joomla、Confluenceなどと簡単に統合できます。
このチュートリアルでは192.168.1.1
、パブリックIPアドレスおよびmeetings.example.com
Vultrインスタンスを指すドメイン名として使用します。サンプルのIPアドレスとドメイン名をすべて実際のものに置き換えてください。
CentOS 7のアップデート方法ガイドを使用して、ベースシステムをアップデートします。システムが更新されたら、Javaのインストールに進みます。
OpenMeetingsはJavaで記述されているため、動作するにはJavaランタイム環境(JRE)が必要です。JREとJDKの両方を含む、入手可能な最新のOracle SE JDK 8 RPMパッケージをダウンロードします。
wget --header 'Cookie: oraclelicense=a' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm
ダウンロードしたパッケージをインストールします。
sudo rpm -Uvh jdk-8u161-linux-x64.rpm
Javaが正常にインストールされている場合は、そのバージョンを確認できます。
java -version
次の出力が表示されます。
[user@vultr ~]$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
さらに先に進む前に、JAVA_HOME
およびJRE_HOME
環境変数を設定する必要があります。システム内のJAVA実行可能ファイルの絶対パスを見つけます。
readlink -f $(which java)
同様の出力が表示されます。
[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_161/jre/bin/java
次に、Javaディレクトリーのパスに従ってJAVA_HOME
とJRE_HOME
環境変数を設定します。
echo "export JAVA_HOME=/usr/java/jdk1.8.0_161" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_161/jre" >> ~/.bash_profile
bash_profile
ファイルを実行します。
source ~/.bash_profile
これで、echo $JAVA_HOME
コマンドを実行して、環境変数が設定されていることを確認できます。
[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_161
ImageMagickおよびGhostScriptライブラリをインストールします。
sudo yum -y install epel-release
sudo yum -y install ImageMagick ghostscript
ImageMagickは、画像をアップロードしてホワイトボードにインポートするためのサポートを提供します。GhostScriptを使用すると、PDFをホワイトボードにアップロードできます。
ImageMagickとGhostScriptのバージョンを確認して、それらが正常にインストールされていることを確認します。
[user@vultr ~]$ identify -version
Version: ImageMagick 6.7.8-9 2016-06-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
[user@vultr ~]$ ghostscript -v
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 Artifex Software, Inc. All rights reserved.
さらに、システムにApache OpenOfficeまたはLibreOfficeをインストールする必要もあります。これらのいずれかをインストールすると、のようなオフィス文書フォーマットのファイルをインポートするOpenMeetingsを可能にする.doc
、.docx
、.ppt
、.pptx
、または.xlx
。このチュートリアルでは、Apache OpenOfficeをインストールします。
一時ディレクトリに切り替えて、Apache OpenOffice RPMをダウンロードします。
cd /tmp
wget https://downloads.sourceforge.net/project/openofficeorg.mirror/4.1.5/binaries/en-US/Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
アーカイブを抽出し、すべてのRPMパッケージをインストールします。
tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
cd en-US/RPMS
sudo rpm -Uvh *.rpm
sudo rpm -Uvh desktop-integration/openoffice4.1.5-redhat-menus-*.rpm
OpenOfficeが正しくインストールされて機能しているかどうかを確認するにopenoffice4 -h
は、コマンドラインに入力します。バージョンと短いヘルプが表示されます。
[user@vultr ~]$ openoffice4 -h
OpenOffice 4.1.5 415m1(Build:9789)
Usage: soffice [options] [documents...]
Options:
-minimized keep startup bitmap minimized.
...
RPMFusionリポジトリは、FFmpegおよびSound eXchange(SoX)用のビルド済みパッケージを提供しているため、システムにインストールします。
sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
FFmpegとSoXをインストールします。
sudo yum -y install ffmpeg sox
FFmpegとSoXは、会議の記録を有効にします。彼らは、次のようなメディアファイルのインポート中にも役立つ.avi
、.flv
、.mov
および.mp4
ホワイトボードにします。FFmpegとSoXの両方のバージョンをチェックして、インストールを確認します。
[user@vultr ~]$ sox --version
sox: SoX v14.4.1
[user@vultr ~]$ ffmpeg -version
ffmpeg version 2.8.13 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)
OpenMeetingsは、MySQL、PostgreSQL、Apache、Derby、Oracleなど、複数のタイプのデータベースサーバーをサポートしています。このチュートリアルでは、PostgreSQLサーバーを使用してOpenMeetingデータベースをホストします。
PostgreSQLはオブジェクトリレーショナルデータベースシステムであり、その安定性と速度で知られています。デフォルトのyum
リポジトリには古いバージョンのPostgreSQLが含まれているため、最新バージョンのアプリケーション用のPostgreSQLリポジトリをシステムに追加します。
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
PostgreSQLデータベースサーバーをインストールします。
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
データベースを初期化します。
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
PostgreSQLサーバーを起動し、起動時に自動的に起動するようにします。
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
デフォルトのPostgreSQLユーザーのパスワードを変更します。
sudo passwd postgres
PostgreSQLユーザーとしてログインします。
sudo su - postgres
OpenMeetingsユーザー用の新しいPostgreSQLユーザーを作成します。
createuser openmeetings
の代わりに任意のユーザー名を使用できますopenmeetings
。PostgreSQLシェルに切り替えます。
psql
OpenMeetingsデータベースの新しく作成されたユーザーのパスワードを設定します。
ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';
DBPassword
安全なパスワードに置き換えます。OpenMeetingsインストール用の新しいデータベースを作成します。
CREATE DATABASE openmeetings OWNER openmeetings;
psql
シェルを終了します。
\q
sudo
ユーザーに切り替えます。
exit
pg_hba.conf
ファイルを編集して、MD5ベースの認証を有効にします。
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
次の行を見つけて、METHOD
列の値をからident
に変更しますmd5
。
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
更新すると、設定は次のようになります。
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
ファイルを保存して、エディターを終了します。PostgreSQLを再起動して、変更を有効にします。
sudo systemctl restart postgresql-10
必要な依存関係がすべてインストールされているため。OpenMeetingsの新しいユーザーを作成します。サーバーのセキュリティのため、OpenMeetingsの実行には非rootユーザーを使用することをお勧めします。
sudo adduser -b /var -s /sbin/nologin openmeetings
上記のコマンドは、openmeetings
ユーザーのホームディレクトリも作成し/var/openmeetings
ます。
Apache OpenMeetingsダウンロードページをチェックして、利用可能な最新リリースへのリンクを取得します。OpenMeetingsアーカイブをダウンロードします。
cd /tmp
wget http://www-us.apache.org/dist/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz
アーカイブを/var/openmeetings
ディレクトリに抽出します。
sudo tar xf apache-openmeetings-4.0.1.tar.gz -C /var/openmeetings
以前に作成したOpenMeetingsユーザーにファイルの所有権を提供します。
sudo chown -R openmeetings:openmeetings /var/openmeetings
アプリケーションを開始する前に、ファイアウォールを変更してポート5080
とを許可する必要があります1935
。
sudo firewall-cmd --zone=public --permanent --add-port=5080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1935/tcp
sudo firewall-cmd --reload
これでアプリケーションを起動できます。
sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings
これhttp://192.168.1.1:5080/openmeetings
で、お気に入りのブラウザーでアクセスできます。GhostScriptのインストール手順が記載されたウェルカム画面が表示されます。
GhostScriptはすでにインストールされているので、先に進みます。次のインターフェイスでは、データベースサーバーの詳細を入力するよう求められます。データベースタイプ「PostgreSql
」を選択し、PostgreSQLのインストール時に構成したデータベースサーバーの詳細を入力します。
「Check
」ボタンをクリックすると、メッセージ「Database check was successful
」が表示されます。次のインターフェースで、管理者アカウントの詳細とグループ名を入力します。
インストールの基本設定を構成します。自己登録、電子メール検証、およびデフォルトの言語を許可するなど。また、SMTPサーバーの詳細も入力します。SMTPサーバーの準備ができていない場合は、後で管理者ダッシュボードでSMTPの詳細を提供することもできます。
異なるアプリケーションのバイナリへのパスを尋ねてきます。提供/usr/bin
ImageMagickに、FFmpegは、およびソックスパスとして。入力したパスに対してアプリケーションがエラーを提供している場合は、を使用which <binary_name>
して、バイナリへの絶対パスを見つけることができます。たとえば、出力としてwhich ffmpeg
提供する必要/usr/bin/ffmpeg
があります。/opt/openoffice4
OpenOfficeバイナリへのパスとして使用します。
デフォルト値を使用するため、次のインターフェースの構成はスキップできます。最後に、「Finish
」ボタンをクリックしてアプリケーションをインストールし、データベースに書き込みます。
OpenMeetingsがサーバーにインストールされました。より生産性を高めるために、OpenMeetingsサーバーを管理するようにSystemdを設定します。また、アプリケーションを提供するセキュアなリバースプロキシとしてLet's Encrypt SSLを使用してNginxを構成します。
上記のコマンドを使用してアプリケーションを簡単に起動および停止できますが、アプリケーションを管理するためにSystemdサービスユニットを設定することをお勧めします。これにより、起動時および障害時にサービスが自動的に開始されます。
" Ctrl+C
"を押すか、openmeetings
ユーザーのシェルを強制終了して、OpenMeetingsサーバーを停止します。
sudo pkill -KILL -u openmeetings
OpenMeetingsサーバー用の新しいSystemdユニットファイルを作成します。
sudo nano /etc/systemd/system/openmeetings.service
ファイルに入力します。
[Unit]
Description=OpenMeeting Service
After=network.target
[Service]
Type=simple
User=openmeetings
WorkingDirectory=/var/openmeetings
ExecStart=/var/openmeetings/red5.sh
Restart=always
[Install]
WantedBy=multi-user.target
OpenMeetingsサーバーを起動し、起動時に自動的に起動するようにします。
sudo systemctl start openmeetings
sudo systemctl enable openmeetings
サービスのステータスを確認するには、以下を実行します。
sudo systemctl status openmeetings
同様の出力が表示されます。
[root@vultr openmeetings]# sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-01-31 15:40:56 UTC; 38s ago
Main PID: 10522 (java)
CGroup: /system.slice/openmeetings.service
└─10522 /bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m...
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.431 16603 343 o.a.o.c.r.Scope...se]
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.531 16703 124 o.a.o.c.r.Scope...ngs
Jan 31 15:41:34 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:34.421 21593 82 o.a.o.u.Version ...] -
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # Openmeetings is up ... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # 4.0.1 3795f14 2017-12-05T16... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # and ready to use ... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Hint: Some lines were ellipsized, use -l to show in full.
デフォルトでは、OpenMeetingsはポートをリッスンします5080
。ブラウザとサーバー間の接続がSSLで暗号化されていない場合、ログインおよびその他の情報はプレーンテキストを使用して送信されます。ネットワークを盗聴している誰かが情報を入手する可能性があるため、これは潜在的な脅威である可能性があります。この問題を軽減するために、デフォルトのHTTPSポートをリッスンし、すべての要求をOpenMeetingsサーバーにプロキシするリバースプロキシとしてNginxをセットアップします。
Nginxをインストールします。
sudo yum -y install nginx
Nginxを起動し、起動時に自動的に起動するようにします。
sudo systemctl start nginx
sudo systemctl enable nginx
Let's Encrypt CAのクライアントアプリケーションであるCertbotをインストールします。
sudo yum -y install certbot
証明書を要求する前に、ポート80
および443
/または標準HTTP
とHTTPS
サービスがファイアウォールを通過できるようにする必要があります。
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
注: Let's Encrypt CAから証明書を取得するには、証明書を生成するドメインをサーバーに向ける必要があります。そうでない場合は、ドメインのDNSレコードに必要な変更を加え、DNSが伝播するのを待ってから、証明書要求を再度行ってください。証明書ボットは、証明書を提供する前にドメイン認証局をチェックします。
SSL証明書を生成します。
sudo certbot certonly --webroot -w /usr/share/nginx/html -d meetings.example.com
生成された証明書は、おそらくに保存され/etc/letsencrypt/live/meetings.example.com/
ます。SSL証明書はとして保存されfullchain.pem
、秘密鍵はとして保存されprivkey.pem
ます。
Let's Encrypt証明書は90日で期限切れになるため、cronジョブを使用して証明書の自動更新を設定することをお勧めします。
cronジョブファイルを開きます。
sudo crontab -e
ファイルの最後に次の行を追加します。
30 5 * * * /usr/bin/certbot renew --quiet
上記のcronジョブは、毎日午前5時30分に実行されます。証明書の有効期限が切れる場合、証明書は自動的に更新されます。
次に、Nginxのデフォルト構成ファイルを変更して、default_server
行を削除します。
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
OpenMeetingsサーバーの新しい構成ファイルを作成します。
sudo nano /etc/nginx/conf.d/meetings.example.com.conf
ファイルに入力します。
server {
listen 80;
server_name meetings.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name meetings.example.com;
ssl_certificate /etc/letsencrypt/live/meetings.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meetings.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/openmeetings.access.log;
location / {
proxy_pass http://localhost:5080;
proxy_set_header host $host;
proxy_http_version 1.1;
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection "upgrade";
}
}
新しい構成ファイルのエラーを確認します。
sudo nginx -t
次の出力が表示された場合、構成にエラーはありません。
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
何らかのエラーを受け取った場合は、SSL証明書へのパスを再確認してください。Nginx Webサーバーを再起動して、構成の変更を実装します。
sudo systemctl restart nginx
SSLで保護されたサイトでアプリケーションの使用を開始する前に、OpenMeetingsの構成を変更する必要があります。OpenMeetings管理ダッシュボードにログインし、「Administration >> Configuration
」に移動します。ID、キー、値の表。見つけるapplication.base.url
。https://meetings.example.com
ドメイン名に応じて値を変更します。上の保存アイコンをクリックして構成を保存します。
OpenMeetingsサービスを再起動します。
sudo systemctl restart openmeetings
これで、https://meetings.example.com
お気に入りのWebブラウザーを使用して参照し、ログインしてアプリケーションを使用できます。
おめでとうございます。ApacheOpenMeetingsがサーバーにインストールされました。友達を招待して、オンライン会議にOpenMeetingsを使い始めることができます。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。