Ubuntu 22.04(24.04)にSnipe-ITをインストール
Ubuntu 22.04環境下での資産構成システム「Snipe-IT」をインストールする方法についての手順です。
→ Ubuntu 24.04でも動作を確認しました。
環境
- Ubuntu 22.04
- またはUbuntu 24.04
- Apache 2.4
- php 8.1
- Ubuntu 24.04の場合は8.3
- 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
- DB作成
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
- DB確認
SHOW DATABASES;
snipeitがあることを確認
- ログアウト
exit
プログラム配置
- Webサイト配置ディレクトリに移動
cd /home/www-data && pwd
自分の環境に合わせます。
- ダウンロード
sudo -u www-data git clone https://github.com/snipe/snipe-it snipe-it
- ディレクトリ移動
cd snipe-it
- .envを作成
sudo cp -pi .env.example .env
- .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
- APPキー作成
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を確認します
- apache再起動
sudo systemctl restart apache2.service
Web画面からの設定確認
ブラウザで
https://設定したURL
にアクセスします。
のような画面が出てきます。「Next:Create Database Tables」をクリックします。
「Next: Create User」をクリックします。
この画面が出てきたら成功です。