Ubuntu17.10とapache2、MySQL、PHP5.6のインストール
NetCommons2からNetCommons3への移行の実験のため、PCにLinuxをインストールした。これはその覚え書き。
USBメモリー4GBにLinuxのubuntu17.10日本語Remix入れてUSBメモリからUSB-SSDにインストールした。PC内蔵のHDDは外して、MBR/UEFIはレガシーモードにした。
その後、NetCommons2と3のWebサーバーとして利用するため、apache2.4.29 とPHP5.6、MySQL5.7、phpMyAdmin4.7.7をインストールした。
(1)アパッチのインストール
sudo apt-get install apache2
(2)PHPのインストール
phpがインストールされていたら削除
sudo apt autoremove php
sudo apt purge php
php7.0ではNetCommons2が動作しないため、php7.0ではなく、php5.6をインストール
sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/apache2
sudo apt update
sudo apt-get update
ondrej関連サイトは下記
https://deb.sury.org
https://launchpad.net/~ondrej/+archive/ubuntu/php/
sudo apt install php5.6
sudo apt install libapache2-mod-php5.6 apache2とphpの統合
sudo apt install php5.6-mcrypt 暗号化モジュール
sudo apt-get install imagemagick
imagemagickはすでにインストールされていたが実行させても害はない
sudo service apache2 restart phpを追加したので再スタートが必要
(3)データベースMySQLのインストール
sudo apt-get install mysql-server
sudo mysql –version mysql Ver 14.14 Distrib 5.7.20
sudo apt-get install libapache2-mod-auth-mysql
このセットは見つからず、インストール不要
sudo apt-get install php5.6-mysql
php5.6-mysqlをインストールしていないとphpmyadminをインストールしても、その動作が不完全になるという
(4)phpMyAdminのインストール
★sudo apt-get install phpmyadmin これを実行するとphp7.0もインストールされてしまうので手動インストールが必要
sudo su
cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.7/phpMyAdmin-4.7.7-all-languages.zip
unzip phpMyAdmin-4.7.7-all-languages.zip
mv phpMyAdmin-4.7.7-all-languages phpmyadmin
chmod -R 0755 phpmyadmin
http://localhost/phpmyadmin/
ブラウザで上記urlを開くと、mysqli拡張がみつかりませんというエラーになるので
sudo apt install php5.6-mysql
★sudo apt install php-mysql ではphp7版になってしまう
次にphp5.6 mbstring packageをインストール
sudo apt-get install php5.6-mbstring
(5)その他の設定
php.iniの場所は、
/etc/php/5.6/cli/php.ini
/ete/php/5.6/apache2/php.ini
/etc/php/5.6/apche2のphp.iniを修正
extension=php_mbstring.dll
extension=php_mysqli.dll
post_max_size=8M ⇒ 100M
upload_max_filesize=2M ⇒ 80M
mbstring.internal_encoding=UTF-8
mbstring.http_input=pass
mbstring.http_output=pass
mbstring.encoding_translation=OFF
mbstring.func_overload=0
extension=php5.6-mbstring
MySQLとphpMyAdminを使うには、
phpmyadminにあるconfig.sample.inc.phpをコピーしてconfig.inc.phpを
つくり、その中のblowfish_secretに任意の32文字を入れる。
また、phpMyAdminの環境保管領域をデータベースの中に追加する
その方法は、下記を参照させてもらった
https://www.dbonline.jp/phpmyadmin/install/index3.html
アパッチのリスタートが必要
sudo service apache2 restart
ubuntuでCakePHPを動かそうとしたら、apacheのmod_rewriteが有効になっていないことが判明。
apache2そのまま入れただけだとoff
sudo a2enmod rewrite mode_rewriteを有効化
sudo service apache2 restart
sudo apache2ctl -M mode_rewriteが有効になっているか確認
rewrite_module (shared) が有ればOK
参考にさせてもらったのは、https://qiita.com/zanzan/items/fd8f750e02e8c17000eb
Overrideを許可するには000-default.confに追加が必要⇒nanoエディタで開く
sudo nano /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>の下に3行追加
<Directory /var/www/html>
AllowOverride All
</Directory>
…
</VirtualHost>
sudo service apache2 restart apache再起動
NetCommons3を /var/www/html/nc3 にインストールしようとしたが、cake_core_cacheがフェイタルエラー
/var/www/html/nc3/app/tmp tmpのパーミッションが0755だったが、tmpのパーミッションを0777にする
chmod -R 0777 tmp
しかし、これだけではNC3のインストールが次のページに進まない
chmod -R 0777 nc3 この処置を追加してOK
NetCommons2のインストールでも パーミッションを変える
NetCommons2は /var/www/html/nc2 にインストールした
chmod -R 0777 nc2
インストール後 /var/www/html/nc2/webapp/install.inc.phpを書き込み禁止に変えることが必要
chmod -R 0444 /var/www/html/nc2/webapp/install.inc.php
nc3のインストールでdomが見つからないとの警告
apt-get install php5.6-xml
imagickがみつからない
apt-get install php-imagick
php5.6-imagickを指定したが、php-imagickが選択された
service apache2 restart
NetCommons3のインストールで内部エラー
/var/www/html/app/tmp/logs/error.log を確認
Invalid datetime format:が出ていた。
sql_mode の設定が MySQL5.6 ではデフォルトで STRICT_TRANS_TABLES になっているため
/etc/mysql/mysql.conf.d にある mysqld.cnf に下記を追加
[mysqld]の下に
sql_mode=”” これでsql_modeの値をノーバリューにする
設定したらMySQLを再起動
service mysql restart
sql_mode=NO_ENGINE_SUBSTITUTION,NO_STRICT_TRANS_TABLES ではエラーになった
phpmyadminにログインしたときエラーが発生
mysqli_real_connect():(HY000/2002):No such file or directory