ログイン中の作業状態を保存するユーティリティ。 最初の一度だけ起動したらあとは温存する。キーバインドは 以下のとおり。
C-t c | 新規ウィンドウ(シェル)の作成 |
C-t 1〜9の数字 | その番号のウィンドウ選択 |
C-t w | ウィンドウ一覧表示 |
C-t d | 切り離し(detach) |
C-t ESC | スクロールバッファ (画面をさかのぼる)qで抜ける |
一度 detach したscreenは再度ログインして
screen -r
で再接続できる。温存中のscreenが複数あるとすぐには つなげない。
screen -ls
して、番号を調べて
screen -r 番号
で繋ぎ直す。2つ以上は持たない方がよい。
特定のコマンドをスーパーユーザ権限で実行する。 継続的にスーパーユーザになるには
sudo -H -s
する。スーパーユーザから一般ユーザに一時的に戻るには
suspend
中断しているスーパーユーザに復帰するには
fg
する。スーパーユーザを放棄するにはexit
する。
シェルに限らず suspend しているプロセス(プログラムの実行状態)は
残り続けることに注意する。プロセスを終了するには exit する。
apache.org HTTP SERVER PROJECT の "Stabe Release" から Unix Source からソースを取得するのが本筋である。 ただし、Apache httpdの導入には、apr, apr-util という別のソフトウェアも必要なので、それが一括で得られる FTP サイトに繋いで3つを取得する。
ここでは、ftp.jaist.ac.jp から
を選んで取得する例を示す。
lftp ftp.jaist.ac.jp cd pub/pkgsrc/distfiles # 途中Tab補完が効く get httpd-2.4.[Tab][Tab] # Tab 2連打する httpd-2.4.55.tar.bz2 httpd-2.4.57.tar.bz2 httpd-2.4.56.tar.bz2 httpd-2.4.58.tar.bz2 get httpd-2.4.58.tar.bz2 # 最新版の番号を入れる : 続いて apr と apr-util の最新版を同様に取得する get apr-1.[Tab][Tab] apr-1.7.0.tar.bz2 apr-1.7.2.tar.bz2 apr-1.7.4.tar.bz2 get apr-1.7.4.tar.bz2 get apr-util[Tab][Tab][Tab] # Tab 3連打 apr-util-1.6.1.tar.bz2 apr-util-1.6.3.tar.bz2 get apr-util-1.6.3.tar.bz2 exit ls : 取得ファイルを確認後 アーカイブファイルを展開する tar zxpf httpd-2.4.xx.tar.bz2 cd httpd-2.4.xx less INSTALL (qで抜ける)
INSTALL には aprとapr-utilを srclib/ 以下に展開せよと指示があるので それに従う。
cd srclib tar zxpf ~/apr-1.7.x.tar.bz2 mv apr-1.7.x apr tar zxpf ~/apr-util-1.6.x.tar.bz2 mv apr-util-1.6.x apr-util
元のディレクトリに戻り configure に進む。
コンパイルしたあと、スーパーユーザ権限でインストールする。
CC=cc CFLAGS=-I/usr/iekei/text/include \ ./configure --prefix=/var/apache --with-included-apr make sudo make install
/var/apache/conf
ディレクトリにインストールされている
設定ファイルのうちhttpd.conf
を確認・修正する。ここでは
の項目を変更する。修正にはviを使う。
sudo -H -s cd /var/apache/conf vi httpd.conf
[数] は省略すると1。
[数]x | 数字削除 |
[数]dd | 数行削除 |
[数]i | カーソル位置で挿入モードへ |
[数]I | 行頭で挿入モードへ |
[数]a | カーソル直後で挿入モードへ |
[数]A | 行末で挿入モードへ |
ESC | 挿入モードを抜けコマンドモードへ |
ZZ | 保存終了 |
:q! [Return] | 編集破棄終了 |
:w! [Return] | 強制保存 |
:wq! [Return] | 強制保存終了 |
vi の使い方も参照。
アクセスログ、エラーログファイルの場所、書式を決める。
~ユーザ
で該当ユーザの ~/public_html/
ディレクトリを意味する。
ひとつのホストで複数のWeb空間を持たせる。
Webサーバによるファイル共有。
Secure Socket Layer - 暗号化ソケットによる伝送
変更点を差分形式で以下に示す(行頭マイナスの行を消して行頭+の行を足す)。
--- original/httpd.conf 2018-11-29 11:43:34.387407000 +0900 +++ httpd.conf 2018-11-29 11:47:28.436374000 +0900 @@ -147,7 +147,7 @@ LoadModule dir_module modules/mod_dir.so #LoadModule actions_module modules/mod_actions.so #LoadModule speling_module modules/mod_speling.so -#LoadModule userdir_module modules/mod_userdir.so +LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so #LoadModule rewrite_module modules/mod_rewrite.so @@ -160,8 +160,8 @@ # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # -User daemon -Group daemon +User www +Group www </IfModule> @@ -182,7 +182,7 @@ # e-mailed. This address appears on some server-generated pages, such # as error documents. e.g. admin@your-domain.com # -ServerAdmin you@example.com +ServerAdmin c118xxx@x.koeki-u.ac.jp # # ServerName gives the name and port that the server uses to identify itself. @@ -192,6 +192,7 @@ # If your host doesn't have a registered DNS name, enter its IP address here. # #ServerName www.example.com:80 +ServerName qm220.is.koeki-u.ac.jp:80 # # Deny access to the entirety of your server's filesystem. You must @@ -468,7 +469,7 @@ #Include conf/extra/httpd-languages.conf # User home directories -#Include conf/extra/httpd-userdir.conf +Include conf/extra/httpd-userdir.conf # Real-time info on requests and configuration #Include conf/extra/httpd-info.conf
CGIを使うためには httpd.conf
内の
AddHandler cgi-script
を有効化する。
ソース配布されているものには configure スクリプトが付属していることが
多い。これは、コンパイルに必要な情報を自動的に収集して、それに応じた
Makefile
を生成するものである。
configure スクリプトに与えるオプションで、そのソフトウェアをインストー ルするディレクトリを指定したりするなど、様々な設定を変えることができる。 どのようなオプションがあるかは configure --help で知ることができる。
./configure --help | less
--prefix=ディレクトリ
オプションで
インストール先ディレクトリを変更できる。その他ソフトウェア固有の
機能のON/OFFを選択するオプションが多数ある。
ひとつのソフトウェアは、別のソフトウェアに由来するヘッダファイルと ライブラリに依存することが多い。ヘッダファイルはCソースのコンパイル時に 参照され、ライブラリファイルはリンク時に参照される。どのディレクトリから ヘッダファイルを探すか、ライブラリを探すか、はCコンパイラに与えるオプションで指 示できる。configure実行時にコンパイラがそれらのオプションを設定するように操作 することができる。また、configure起動時の環境変数を設定することで、 使用するコンパイラやコンパイラに与えるオプションを操作できる。 たとえば今回利用した
CC=cc CFLAGS=-I/usr/iekei/text/include ./configure ....
という起動は、configure 起動時の環境変数 CC と CFLAGS を設定し、コンパイラに cc、そのオプションに -I/usr/iekei/text/include を常に指定するような指示となる。
Apacheの起動は $PREFIX/bin/apachectl
スクリプトを介して
行なう。
/var/apache/bin/apachectl help
で使い方が出る。通常は、
apachectl start | 起動 |
apachectl restart | 再起動 |
apachectl stop | 停止 |
を使う。起動の確認はps
コマンドでプロセス一覧を見て行なう。
ps auxw
起動したら手元のブラウザ(firefox)で
http://qmXXX.is.koeki-u.ac.jp
を開いて確認する。
httpd.conf
で有効化した
Include conf/extra/httpd-userdir.conf
を確認し、これを変更してみる。
cd /var/apache/conf/extra vi httpd-userdir.conf
デフォルトの
UserDir public_html
の public_html
を好きなディレクトリ名に変えてみる。
例:
UserDir webdir
変更をApacheに反映させるにはapachectl
を用いる。
/var/apache/bin/apachectl restart
一般ユーザに戻り、~/webdir
を作り、その中に
index.html
を作成し、ブラウザでアクセスしてみる。
(この項目はDNS設定完了後に行なう)
ここでは,独自ドメインが foo.is.koeki-u.ac.jp で, そのドメイン内に
の2つの仮想ホストを構築する例を示す。 2つのドメイン名はDNSに登録済みである必要がある。
サーバ上で /var/apache/conf
に移動し,
httpd.conf
ファイルを開く。
cd /var/apache/conf sudo vi httpd.conf
"vhosts" というパターンで 検索してみつかった行のコメント記号(#)を外す。
#Include conf/extra/httpd-vhosts.conf
↓
Include conf/extra/httpd-vhosts.conf
続いて,extra/httpd-vhosts.conf
を編集し,
<VirtualHost *:80> ServerAdmin 管理者(自分の)メイルアドレス DocumentRoot "rootドキュメントのディレクトリ名(フルパス)" ServerName サーバ名 ServerAlias その他のサーバ名 # もしあれば,無ければコメントアウト ErrorLog "logs/エラーログのファイル名_log" CustomLog "logs/アクセスログのファイル名_log" common </VirtualHost>
となるように修正する。以下は,www.foo.is.koeki-u.ac.jp と fes.is.koeki-u.ac.jp の2ドメインの設定を記述した例である。
<VirtualHost *:80> ServerAdmin ta01002@e.koeki-u.ac.jp DocumentRoot "/var/home/yuuji/webspace" ServerName www.foo.is.koeki-u.ac.jp # ServerAlias 別名サーバ ErrorLog "logs/www-error_log" CustomLog "logs/www-access_log" common </VirtualHost> <Directory /var/home/yuuji/webspace> Options Indexes Require all granted </Directory> <VirtualHost *:80> ServerAdmin ta01002@e.koeki-u.ac.jp DocumentRoot "/var/home/yuuji/fes-web" ServerName fes.foo.is.koeki-u.ac.jp ErrorLog "logs/fes-error_log" CustomLog "logs/fes-access_log" common </VirtualHost> <Directory /var/home/yuuji/fes-web> Options Indexes Require all granted </Directory>
クォートや綴り間違いのないことを確認したら保存終了し, apacheを再起動する。
sudo /var/apache/bin/apachectl restart
エラーなしで再起動できたら,2つのドメイン用のコンテンツを準備する。
上記の設定例では,ホームディレクトリ内の webspace/
と
fes-web/
ディレクトリにそれぞれ独立した
index.html
を配備することになる。
準備できたら手元のブラウザから
2つのドメイン(実際は自分で設定したドメイン)をURL指定して開き, 中味を確認する。
yuuji@koeki-u.ac.jp