環境
Ubuntu 22.04
Apache 2.4
php 8.1
composer 2.6.6
インストール方法
mysql 8.0.36
前提
ドメインで名前解決できること
そのドメインに即した証明書があること
さっくりとした手順
Snipe-IT用のDBを作成します。
Snipe-ITをダウンロードします。
Composerでインストールを行います。
Apacheの設定を行います。
Web画面からインストールを行います。
手順
Web画面以外はSSH/ターミナルで操作を行います。
Apacheの実行ユーザはwww-dataです。自分の環境に合わせます。
MySQLでDB作成
mysql -u root -p
CREATE DATABASE snipeit character set utf8mb4;
CREATE USER 'snipeit'@'localhost' IDENTIFIED BY 'password';
この'password'は任意のパスワードに変更してください
GRANT ALL ON snipeit.* TO 'snipeit'@'localhost';
flush privileges;
exit
DB作成確認
設定したパスワードでログインできることを確認
mysql -u snipeit -p
SHOW DATABASES;
snipeitがあることを確認
exit
プログラム配置
cd /home/www-data && pwd
自分の環境に合わせます。
sudo -u www-data git clone https://github.com/snipe/snipe-it snipe-it
cd snipe-it
sudo cp -pi .env.example .env
※教義・信仰に沿ったエディタで編集します。※
APP_URL=http://ドメイン名
snipe-itを動かすドメイン名です。
APP_TIMEZONE='Asia/Tokyo'
タイムゾーンを指定します。
DB_DATABASE=snipeit
DB_USERNAME=snipeit
DB_PASSWORD=
DB名/ユーザ名/パスワードは上述したDB作成で指定したものです。
修正後、.envを保存します。
composerでsnipe-itインストール
sudo -u www-data composer update --no-plugins --no-scripts
sudo -u www-data composer install --no-dev --prefer-source --no-plugins --no-scripts
sudo -u www-data php artisan key:generate
途中のプロンプトには「yes」を入力します。
バーチャルサイト作成
sudo mkdir -p /var/log/snipeit
※自分の環境に合わせます。
sudo chown -R www-data:www-data /var/log/snipeit
バーチャルファイル作成
Snipe-IT用の設定ファイル作成
【】の箇所は、自分の環境に合わせて修正してください。
cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/snipeit.conf
<VirtualHost *:80>
# ドメイン名を指定します
servername 【hoge.example.com】
# HTTPアクセスを強制的にHTTPSにリダイレクトします
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
# ドメイン名を指定します
ServerName 【hoge.example.com】
# 上述したログディレクトリを指定します。
CustomLog /var/log/snipeit/snipeit_access.log combined
ErrorLog /var/log/snipeit/snipeit_error.log
# Snipe-ITのプログラムを配置したディレクトリを指定します。
DocumentRoot 【/home/www-data/snipe-it/public】
<Directory 【/home/www-data/snipe-it/public】>
Options -MultiViews
AllowOverride All
Require all granted
</Directory>
#SSL設定
SSLEngine on
Protocols h2 http/1.1
# SSL証明書を指定します
SSLCertificateFile 【/etc/certs/hoge.example.com.crt】
# 秘密鍵を指定します
SSLCertificateKeyFile 【/etc/private/hoge.example.com.key】
# 中間証明書が発行元から別ファイルで提供されている場合は、このすぐ下をコメントアウトして中間証明書を指定します
# SSLCACertificateFile 【/etc/certs/hoge.example.com.CA.crt】
#セキュリティヘッダー付与
Header always set Strict-Transport-Security "max-age=63072000"
Header set X-Content-Type-Options "nosniff"
Header always append X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
</VirtualHost>
# これらのセクションはSSL暗号化強度を高めるための記述です
# </VirtualHost>の外側に書くことにご注意ください
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:EC6-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
__EOF__
sudo a2ensite snipeit.conf
sudo apache2ctl configtest
Syntax OKを確認します
sudo systemctl restart apache2.service
Web画面からの設定確認
ブラウザで
https://設定したURL
にアクセスします。
ここまで来れば目前です。ガイダンスに従って管理者情報などを入力。
このようなダッシュボードが確認できればインストール成功です。