CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
CentOSはRed Hat Enterprise Linux(RHEL)の開発に従います。RHELは、安定したサーバープラットフォームになるように努めています。つまり、すべてのソフトウェアパッケージの最新バージョンを含めることを急いでいません。
この記事の執筆時点で、CentOS 6はGCC v4.4.7を正式に配布しています。ただし、GCC v5.1が最近リリースされました。それ以前は、v4.9.2が利用可能でした。
より新しいバージョンのGCCが必要であるという公式の提案は、最新バージョンのソフトウェアパッケージのサポートに重点を置いた別のUNIXディストリビューションを検討する必要があるということです。
さいわい、CentOSに最新バージョンのGCCをインストールして、古いバージョンをインストールしたままにできます。これは、正式に配布されたソフトウェアを純粋に使用することから逸脱していますが、選択肢が少ないように感じる場合があります。あなたはいくつかの合併症に遭遇する可能性があります。たとえば、サードパーティのカーネルモジュールをインストールする場合は、カーネルのビルドに使用したのと同じバージョンのGCCを使用してコンパイルする必要があります。
この記事では、GOSの正式にサポートされているバージョンのCentOS 6をインストールする方法と、新しいバージョンをインストールする方法についても説明します。この記事は、CentOS 6 VPSを新しくインストールしたことを前提としていますが、既存のVPSの指示に従うことはできます。
ソースから新しいバージョンのGCCをインストールする場合でも、GCC自体はC ++で記述されています。したがって、最初に古いC ++コンパイラをインストールする必要があります。
Vultrコントロールパネルの[コンソールの表示]をクリックするか、SSH(設定している場合)をクリックして、VPSにログインします。
(a)rootとしてログインします。
(b)独自のユーザーアカウントを作成し、パスワードを設定します。
adduser <username>
passwd <username>
(c)ユーザーアカウントがsudoコマンドを使用して、root権限でコマンドを実行できるようにします。
visudo
After the line "root ALL=(ALL) ALL"
Add the line "<username> ALL=(ALL) ALL"
--- If you aren't familiar with vi, go to the line "root ALL=(ALL) ALL".
--- Hit "o" to create a new line after that line and enter insert mode.
--- Type "<username> ALL=(ALL) ALL".
--- Hit ESC.
--- Type "ZZ" to save.
(d)rootとしてログアウトし、ユーザーアカウントにログインします。
CentOS 6 GCCパッケージをインストールします。これにより、依存関係のために約11個のパッケージをインストールするかどうかを尋ねられます。
sudo yum install gcc gcc-c++
インストールされているバージョンを確認し、その場所を示します。
gcc --version
May say: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
g++ --version
May say: g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
which gcc
/usr/bin/gcc
which g++
/usr/bin/g++
CentOSの正式にサポートされているバージョンのGCCのみが必要な場合は、これで完了です。GCCの最新バージョンが必要な場合は、続行してください。
重要!まず、上記の手順を実行して、古いバイナリバージョンのGCCをインストールします。
追加で必要なパッケージをインストールします。これにより、約41個のパッケージをインストールするかどうかを尋ねられます。
sudo yum install svn texinfo-tex flex zip libgcc.i686 glibc-devel.i686
インストールするGCCのバージョンを決定します。このコマンドは、利用可能な各バージョンの「タグ」を表示します。
svn ls svn://gcc.gnu.org/svn/gcc/tags | grep gcc | grep release
gcc-2_95-release/
...
gcc-4_9_2_release/
gcc-5_1_0_release/
必要なGCCのバージョンのソースを取得します。これは数分間実行されます。この記事の残りの部分はgcc-5_1_0_release/
ソースをに作成し、ソースをにダウンロードします~/sourceInstallations/gcc_5_1_0_release/
。
mkdir ~/sourceInstallations
cd ~/sourceInstallations
svn co svn://gcc.gnu.org/svn/gcc/tags/gcc_5_1_0_release/
追加の前提条件のソースを取得します。これはv5.1.0を使用してソースをダウンロードし、MPFR v2.4.2、GMP 4.3.2、およびMPC 0.8.1のGCCビルドに追加します。
cd gcc_5_1_0_release/
./contrib/download_prerequisites
--- Important, run this as shown, from the gcc_5_1_0_release directory.
--- Do not cd to the contrib directory
VPSのメモリが768MBしかない場合、次のステップでメモリが不足します。1GBのメモリがあれば大丈夫かもしれませんが、このステップを実行しても害はありません。2GB以上のメモリがある場合は、この手順をスキップできます。この手順では、スワップファイルを使用して、500MBの仮想メモリを追加します。
SWAP=/tmp/swap
dd if=/dev/zero of=$SWAP bs=1M count=500
mkswap $SWAP
sudo swapon $SWAP
GCCをビルドします。これは数時間実行されます。これが正しく完了すると、最後に表示される行に「成功」と表示されます。ビルドが完了して「成功」をエコーする限り、一部のエラーに見えるメッセージがすばやくスクロールするのが普通です。ソースディレクトリとは別のディレクトリにビルドすることは常に良い考えです。GCCのドキュメントでは、ソースディレクトリのサブディレクトリであるビルドディレクトリを使用しないでください。
cd ..
mkdir gcc_5_1_0_release_build/
cd gcc_5_1_0_release_build/
../gcc_5_1_0_release/configure && make && sudo make install && echo "success"
--- If your VPS has multiple cores, you can speed up the build by changing the middle part
--- of this line from "&& make &&" to "&& make -j <number of cores> &&".
--- You can see the number of cores your VPS has by running "nproc"
手順6でスワップファイルを設定した場合は、それを削除します。追加の構成を行わずに、再起動後、それはスワップファイルとして使用されず、VPSのハードドライブ領域を占有するだけです。
sudo swapoff $SWAP
rm /tmp/swap
インストールされているバージョンを確認し、その場所を確認します。
hash -r
(Makes your login "forget" about the previously seen locations of gcc and g++)
gcc --version
May say: gcc (GCC) 5.1.0
g++ --version
May say: g++ (GCC) 5.1.0
which gcc
/usr/local/bin/gcc
which g++
/usr/local/bin/g++
新しいライブラリをld(GNUリンカー)に追加します。
echo "/usr/local/lib64" > usrLocalLib64.conf
sudo mv usrLocalLib64.conf /etc/ld.so.conf.d/
sudo ldconfig
--- This may say a file or two "is not an ELF file - it has the wrong magic bytes at the start."
--- You may ignore this message. It is silent about the work it successfully completed.
オプションでhello worldプログラムを作成します。
mkdir ~/code
cd ~/code
Create a file main.cpp that says:
#include <iostream>
using namespace std;
int main() {
cout << "Hello world!" << endl;
return 0;
}
--- One way to create this file is to run "vi main.cpp", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
g++ main.cpp -o main
./main
Hello World!
必要に応じて、ハードドライブ領域を再利用します。あなたの~/sourceInstallations
フォルダは約8.0GBを占めます。将来、ある時点で使用する必要があるオプションの構成オプションがあり、多くのことを既に実行した方が速いので、フォルダーを保持することはおそらく賢明です。また、ビルドプロセスではログが作成されるため、問題が発生した場合に後で確認して作業できます。しかし、sudo make install
以前に実行した後、インストールされたGCCはこのディレクトリの何にも依存せず、スペースが非常に大きくなる可能性があるため、この手順を実行して8.0GB程度を再利用できます。
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
これで、CentOSが正式にサポートさgcc
れたg++
まま、/usr/bin/
CentOSが正式にサポートされている32ビットライブラリ、/lib
CentOSが正式にサポートされている64ビットライブラリ、/lib64
CentOSが正式にサポートされているインクルードファイルを使用できます/usr/include
。
新しいgcc
とにありg++
ます/usr/local/bin
。新しい32ビットライブラリは/usr/local/lib
に、新しい64ビットライブラリはに/usr/local/lib64
、新しいインクルードファイルはにあります/usr/local/include
。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
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の未来は、日々成長を続けています。