前提
- VirtualBoxにUbuntuがインストール(インストールする際にメディア等不要の最小限?最低限?の構成の方でしておく)
- Ubuntuからインターネットにアクセスできること
- UbuntuにSSHにアクセスできること
- 何故かはわからないが、Ubuntuに既にApache2が入っていたが、この手順ではnginxに変更する
PHP インストール
sudo apt-get -y install wget php php-pear php-cgi php-common php-curl \
php-mbstring php-gd php-mysql php-gettext php-bcmath \
php-imap php-json php-xml php-fpm
php-fpm設定
php-fpmの設定確認
sudo vi /etc/php/7.2/fpm/pool.d/www.conf
listen = /run/php/php7.2-fpm.sock ←この値をnginxと合わせる必要がある
php-fpmの設定変更
sudo vi /etc/php/7.2/fpm/php.ini
upload_max_filesize = 20M
max_execution_time = 120
ファイルアップロードサイズは最低6MB必要とのこと。
変更を反映するためにphp-fpmを再起動。
systemctl restart php7.2-fpm.service
MariaDB インストール
sudo apt -y install mariadb-server mariadb-client
本来、DBサーバをインストールした時にrootのパスワード設定を求められるが、私は見逃してしまい、次の手順で再設定した。
sudo mysql -u root
use mysql;
update user set password=PASSWORD("新パスワード") where User='root';
update user set plugin="mysql_native_password";
exit
service mysqld restart
DB作成
sudo mysql -u root
create database suitecrm;
grant all on suitecrm.* to suitecrm@localhost IDENTIFIED by "DBのパスワード";
flush privileges;
quit
よくmysqld_safe --skip-grant-tables &
を使う手順があるが、それでは変更できなかったので、念のためメモった。
Nginx インストール
sudo apt-get install nginx
Nginx設定
/etc/nginx/conf.d/suitecrm.conf
を以下の内容で作成する。
server {
server_name ホスト名;
client_max_body_size 50M;
root /srv/suitecrm;
location / {
try_files $uri /index.php;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.2-fpm.sock; # php-fpmの設定に合わせる
# fastcgi_pass localhost:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_log /var/log/nginx/suitecrm_error.log;
access_log /var/log/nginx/suitecrm_access.log;
location ~ /\.ht {
deny all;
}
}
SuiteCRMのダウンロードと配置
VER
は https://github.com/salesagility/SuiteCRM/releases から取得するバージョンを指定。
export VER="7.11.4"
wget https://github.com/salesagility/SuiteCRM/archive/v${VER}.tar.gz
tar xvf v${VER}.tar.gz
rm v${VER}.tar.gz
sudo mkdir /srv/suitecrm
sudo rsync -avv SuiteCRM-${VER}/* /srv/suitecrm
sudo chown -R www-data:www-data /srv/suitecrm/
cd /srv/suitecrm/
sudo chmod -R 775 *
Composerのインストール
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
Composer実行
sudo apt install php-zip php7.2-intl
Composerの実行の際に、上記が足らないと怒られるのでインストール。
その後、以下を実行。
sudo composer install
ブラウザでアクセス
http://ホスト名
SuiteCRMインストールの画面へリダイレクトされる。