2018/05/01(火)ubuntu 18.04 インストール(6) apache, php

ローカルにwebサーバが立ってると何かと便利なので、apacheを入れます。素のapacheと違ってhttpd.confが細分化されていて、debianの作法に従って設定する必要があって知らないと難しいです。
sudo apt install apache2
いくつかのモジュールを有効化します。
sudo a2enmod userdir
sudo a2enmod include
sudo a2enmod cgid
sudo systemctl restart apache2
これらは、実際には/etc/apache2/mods-availableにあるファイルから/etc/apache2/mods-enabledへリンクを張っていて、mods-enabled以下のファイルが設定に読み込まれるという仕組みです。

次に、自分のよく使う設定をしていきます。public_htmlの有効化とcgiの有効化です。デフォルトで使われている設定ファイルは/etc/apache2/sites-available/000-default.confですが、これをを適当な名前 (custom.confとした) でコピーして設定することにします。
<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root
        <Directory /home/*/public_html>
               (ここは各自違うと思う)
        </Directory>
</IfModule>

<IfModule mod_mime.c>
AddHandler cgi-script .cgi
</IfModule>
を(<VirtualHost *:80> </VirtualHost>の中に)加えます。

public_html以下の設定は、ユーザを最大限信用するなら、例えば、
                AllowOverride All
                Options All
                Order allow,deny
                Allow from all
のような感じでしょうか。
sudo a2dissite 000-default
sudo a2ensite custom
sudo systemctl restart apache2
で、000-defaultを無効化し、customを有効化します。

さらに、自分の好みで、public_html以下に置いたcgiはそのディレクトリのユーザの権限で動くようにする、suexecを設定します。
sudo apt install apache2-suexec-custom
/etc/apache2/suexec/www-data の2行目を、public_html/cgi-bin → public_html に。
sudo a2enmod suexec
sudo systemctl restart apache2
次にphpの設定。7.2になりました。
sudo apt install php
sudo apt install libapache2-mod-php
/etc/apache2/mods-available/php7.2.conf で、php_admin_value engine Off をコメントアウト
  (ユーザのpublic_html以下でphpを使えるようにする。)
sudo systemctl restart apache2
動作確認は、ホームに public_html/phpinfo.php を
<?php
  phpinfo();
?>
の内容で作成してブラウザでアクセスしてみると分かるでしょう。

最後に、logrotateの設定を。/var/log/apache2 以下のlogが、デフォルトだと14日しか保存されないので直します。/etc/logrotate.d/apache2 の中の、
daily
rotate 14
という行を、
monthly
rotate 120
とし、10年間はもつようにしました。

2018/05/01(火)ubuntu 18.04 インストール(5) プログラミング系あれこれ

プログラミングに必要なツールをいろいろ入れます。

C++

sudo apt install build-essential
これで、gccなど通常のbuild作業に必要なものが入ります。gccは7.3でした。
sudo apt install clang
clangは6.0が入りました。
sudo apt install libboost-all-dev
boostはやっぱり要る。1.65が入りました。

Java

sudo apt install default-jdk
sudo apt install icedtea-plugin
openjdkの11が入りました。今更要らないでしょうけどJava Appletのプラグインも。

lua

sudo apt install lua5.2
sudo apt install liblua5.2-dev
sudo apt install luajit

fortran

sudo apt install gfortran

python

この時点でpython2, python3は既に入っており、単にpythonと打つとpython2が起動しました。一応2と3両方で環境を整えることにしました。開発用ライブラリ、numpy, scipy, matplotlib, ipythonを入れます。
sudo apt install python-dev (既に入っていた)
sudo apt install python-numpy (既に入っていた)
sudo apt install python-scipy
sudo apt install python-matplotlib
sudo apt install ipython
sudo apt install python3-dev (既に入っていた)
sudo apt install python3-numpy
sudo apt install python3-scipy
sudo apt install python3-matplotlib
sudo apt install ipython3
ついでに最近流行りの。
sudo apt install jupyter-notebook

R

sudo apt install r-recommended
3.4.4が入りました。

octave

sudo apt install octave
sudo apt install liboctave-dev
4.2.2が入りました。liboctave-devはIntlabを使うときに必要になります。

javascript

sudo apt install nodejs

gmp,mpfr

sudo apt install libgmp-dev
sudo apt install libmpfr-dev
それぞれ6.1.2と4.0.1が入りました。

-m32で32bit binaryを作れるように

sudo apt install gcc-multilib
sudo apt install g++-multilib
とりあえずここまで。octaveやnumpyに関係するatlasやopenblasは後で。

2018/05/01(火)ubuntu 18.04 インストール(4) vim

vi大好きなのでvimを入れます。
sudo apt install vim
日本語の漢字コードの異なるファイルを自動認識するように、/etc/vim/vimrc.localを
set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
の内容で新規作成しました。もちろん~/.vimrcでもOKです。

これで、デフォルトのコードがUTF8になり、JIS、EUC、SJISコードのファイルも自動認識して編集できるようになります。

追記(5/24)

18.04から、vimが賢くなってファイルの拡張子に応じて自動でインデントしてくれるようになったようです。しかし、自分はエディタが勝手に何かするのがとても嫌いなので、
set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
filetype indent off
のように自動インデントをオフにする設定を加えました。この設定はどういうわけか/etc/vim/vimrc.localでは効果がないようで。~/.vimrcに書くことにしました。

2018/05/01(火)ubuntu 18.04 インストール(3) TeX関連

普段研究で作成する文書類はすべてubuntuで書いています。TeX系のソフトウェアが安定して使えるかは重要。
sudo apt install texlive-lang-cjk
sudo apt install texlive-fonts-recommended
sudo apt install texlive-fonts-extra
sudo apt install xdvik-ja
16.04まで残っていたdvipsk-jaは無くなったようです。何年も使ってないので問題ないでしょう。

その他文書作成関連のソフトウェアをついでに入れました。
sudo apt install gv
sudo apt install nkf
sudo apt install gnuplot
sudo apt install tgif
sudo apt install gimp
sudo apt install inkscape
sudo apt install mimetex
sudo apt install latexdiff

2018/05/01(火)ubuntu 18.04インストール (2) vmware tools

vmware toolsは、vmwareのゲストで
  • デスクトップのリサイズ、
  • ホストOSとのクリップボード共有(文字列のコピペが出来るようになる)、
  • フォルダ共有
などを実現するもので、ゲストへのインストールはほぼ必須です。16.04のときと同様、vmware標準で提供されるものは無視してopen-vm-toolsを入れます。
sudo apt install open-vm-tools-desktop
再起動後、デスクトップのリサイズもクリップボード共有もうまく動作しました。

共有フォルダは、vmwareの「設定→オプション→共有フォルダの有効化」で共有フォルダを有効にして再起動。
sudo vmhgfs-fuse -o allow_other -o auto_unmount .host:/ /mnt/hgfs
で/mnt/hgfs以下にマウント出来ました。永続的にmountするには、/etc/fstabで
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,auto_unmount,defaults 0 0
と書くとよいでしょう。
OK キャンセル 確認 その他