目的
ApachでWebサーバーを構築します。ローカルネットワーク内で閲覧可能なWebサイトを作ることができます。
実施した環境
- Ubuntu 24.04.1 LTS
- Apach/2.4.62
目次
- Ubuntuのインストール
- Apachのインストール
- Webサーバーの立ち上げ
- 自分のファイルを公開する
- Apachのディレクトリ構成
- 総括
- 参考
1. Ubuntuのインストール
筆者はUSBからPCに直接インストールしました。USBブートの場合、GUIツールを使ってISOイメージをUSBメモリに書き込むこともできますし、ddコマンドを使って書き込むこともできます。
以下はddコマンドを使って書き込んだ後、BIOSでUSBからの起動に切り替えて、Ubuntuをインストールする際に、参考にした情報です。
なお、USB内のデータは全て消去するため、気をつけてください。
- MacでISOを焼いてブート可能なUSBを作る(https://qiita.com/kapibarasensei/items/9fb81f0102f9ccc31559)
- 中古で買ったレッツノートに Ubuntu をインストールした方法(https://www.gadgets-today.net/?p=6497)
2.Apacheのインストール
Ubuntuをインストールできたら、ターミナルに次を打ち込んで、Apache2をインストールします
$ sudo apt-get install apache2
3.Webサーバーの立ち上げ
先ほどインストールした、Apacheを、起動/終了する際はstart/stopを使います。
$ sudo systemctl start apache2
$ sudo systemctl stop apache2
起動させた状態で、ブラウザにPCのIPアドレスを打ち込んで下の画面が表示されれば、Apacheは動いています。
# IPアドレスの確認方法
$ hostname -I
4.自分のファイルを公開する
先ほどのApachの画面の4行目にreplace this faileという太文字が確認できます。その文字に続く後ろの()の中身が、現在公開されているファイルのパスです。次のコマンドで確認してみます。
$ cd /var/www/html/
$ less index.html
# index.htmlに書かれている内容が確認できる
# 戻るときは、q を1回押す
このディレクトリではファイル名が指定されていないときに、index.htmlが表示されるようになっています。そのため、ブラウザにIPアドレスと共にファイル名を打ち込めば、自分で作ったファイルを見ることができます。
先ほどのディレクトリにいる状態で、ファイルを作成します。
$ sudo vi test.txt
# 適当に入力する。viの操作方法は省略する
入力し終えたらブラウザに、IPアドレス/test.txt と入力します。先ほど入力した内容が表示されていれば、自分のファイルが公開されています。
5.Apacheのディレクトリ構成
もう一度、Apacheの起動画面を見ると、下にパスの図が書いてあるところがあります。ここがApachの設定フォルダです。
$ cd /etc/apache2
$ ls
# これらのディレクトリによって、Apachが設定されている。
ディレクトリの中身を確認すると、-enabledディレクトリの中のファイルは、-availableディレクトリの中にあるファイルのシンボリックファイルであることが確認できます。
よって、-enabledディレクトリの中でシンボリックファイルを作ることで、設定を変えるのだと思います。(←まだ試していないため予測ですが)
6.総括
今回は、Ubuntuをインストールして、ApachでWebサーバーを起動させました。同じローカルネットワークに接続している端末ならば、IPアドレスを指定することで誰でも、閲覧可能です。
次回は、Apachの設定ファイルを変更してセキュリティを高めようと思います。他人からはアクセスできないようにする事も可能です。
筆者もまだまだ勉強中の身なので、誤りがあればご指摘いただけると幸いです。
7.参考
この記事は以下の情報を参考にして書きました。
- MacでISOを焼いてブート可能なUSBを作る(https://qiita.com/kapibarasensei/items/9fb81f0102f9ccc31559)
- 中古で買ったレッツノートに Ubuntu をインストールした方法(https://www.gadgets-today.net/?p=6497)
- apache2で静的ページを動かす最短メモ(https://qiita.com/miyamotok0105/items/7975b2df20237df29198)