オープンソースのIT資産管理ツール Snipe-ITをインストールしてみる

By deruz3, 2023年7月3日

RockyLinux 9.2にインストールを試みる
このツールは、Web ベースのソフトウェアであり、中規模から大企業の IT 管理者が「物理資産」「ソフトウェア ライセンス」「アクセサリ」および「消耗品」を 1 か所で追跡できるようにします。

–システム要件–

Apache用のHTTP サーバー
PHP バージョン PHP >= 7.4 < v8.1.2 (8.0 を推奨)
PHP 拡張機能 – mysqli、gd、imap、json、mbstring、xml、pdo、openssl、curl、ldap、zip、bcmath、tokenizer、embedded、sodium、fileinfo、dom
MariaDB データベース同等 >= 10 (10.6 を推奨)

 

1.システムを更新

必要なすべての PHP モジュールを含む LAMP (Linux、Apache、MySQL、PHP) スタックをインストールできるようになります。
OSを最新にします。

sudo dnf update

2.PHPのインストール

Composerとphp-sodiumをインストールする。
以下のコマンドを使用してリポジトリを インストールします。

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

sudo dnf install http://rpms.remirepo.net/enterprise/remi-release-9.rpm

リポジトリの管理、デバッグ パッケージ、ソース パッケージ、リポジトリからの拡張情報のインストール、および管理のためのツールです。

sudo dnf install yum-utils

ツールは何度かダウンロード項目があるので、何回か「y」を押してインストールしましょう。

sudo dnf install yum-utils

PHPの拡張機能をインストールします。
拡張なので数は多いです。

sudo dnf install php php-openssl php-pdo php-mbstring php-tokenizer php-curl php-mysqlnd php-ldap php-zip php-fileinfo php-gd php-dom php-embedded php-bcmath php-xml php-sodium php-pecl-zip php-simplexml

3.タイムゾーンを設定

sudo vim /etc/php.ini

932行目、57%付近にあります。
コメントアウトし、お住まいの地域に変更します。
このサイトでは Asia/Tokyoに変更してます。

;date.timezone =
↓
date.timezone = Asia/Tokyo

 

 

基本パッケージをインストールする

sudo dnf install vim git composer

SELinux モードを Permissive に変更する
/etc/selinux/config を編集する。

SELINUX=enforcing
↓
SELINUX=permissive

保存したらシステムを再起動して下さい。
再起動せずに進めると、以後のインストール中にエラーが出て構築できません。
必ず再起動して下さい。

reboot

4.Apacheをインストール

sudo dnf install httpd

サーバー起動時にApacheをサービス化して自動起動する様にします。

sudo systemctl start httpd
sudo systemctl enable httpd

5.MariaDB データベースをインストール

RockyLinux9.2ではリポジトリ自体、Snipe-IT Assest Managementアプリケーションで作動します。
ここではMariaDB 10.5.16に置き換えます。
MariaDBとツールをインストールします。

sudo yum install mariadb-server

サーバー起動時にMariaDBをサービス化して自動起動する様にします。

sudo systemctl start mariadb
sudo systemctl enable mariadb

6.MariaDBのリポジトリ作成

今回、RockyLinux9.2を使用時はそのまま入力すれば良いですが、他のOSを使用してる場合は以下のサイトより、インストールするリポジトリを作成しましょう。
http://downloads.mariadb.org/mariadb/repositories/

パッケージを追加する

sudo dnf install mariadb-connector-c-devel.x86_64

リポジトリを作成する

sudo  vim /etc/yum.repos.d/MariaDB.repo

CentOS8 (RockyLinux9.2)の場合はこの様な中身になります。

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos8-amd64
module_hotfixes=1
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

作成したMariaDBをインストールしていきます。

sudo dnf --enablerepo=mariadb install MariaDB-server

サーバー起動時にMariaDBをサービス化して自動起動する様にします。

sudo systemctl start mariadb
sudo systemctl enable mariadb

7.MariaDBの初期セットアップ(セキュリティー向上)

MariaDBのセキュリティ向上のため、mysql_secure_installationを実行して rootパスワードの設定や不要なデータベースの削除を行います。

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): (そのままEnterキーを押す)
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:  (MariaDBのrootユーザーに新たに設定するパスワードを入力)
Re-enter new password:  (新パスワードを再入力)
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y  (匿名ユーザーを削除)
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y  (rootユーザーの接続元をlocalhostに限定)
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y  (testデータベースを削除)
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y  (権限関係の変更を直ちに適用)
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

8.Snipe-ITのデータベースとユーザーアカウントを作成

 

sudo mysql -u root -p

Enter password: と出るので、先ほど設定したパスワードを入力してDB内部に入る

ここではMariaDBのユーザー名を「osnd」とし、パスワードを「pass1234」とするが、その部分は任意のユーザー名とパスワードに変更すること!

MariaDB [(none)]< create database osnd;
MariaDB [(none)]< grant all on osnd.* to user_osnd@localhost identified by 'pass1234';
MariaDB [(none)]< flush privileges;
MariaDB [(none)]< exit;

9.Snipe-ITのインストール

Snipe‐ITの最新の安定版を「snipe-it」という名前のフォルダをルート ディレクトリに作成します

cd /var/www/html/
sudo git clone https://github.com/snipe/snipe-it snipe-it

Snipe-ITの環境設定を行います。

cd /var/www/html/snipe-it

sudo mv .env.example .env

sudo vim .env

先ほど入力したDBの内容などを入力していきます。

APP_URL=(インストールしているSnipe-ITのアドレス)
APP_TIMEZONE=(タイムゾーン「'Asia/Tokyo'」)
APP_LOCALE=(ロケール「ja」)
 
# REQUIRED: DATABASE SETTINGS
DB_HOST=localhost
DB_DATABASE=osnd
DB_USERNAME=user_onsd
DB_PASSWORD=(MariaDBで入れたパスワード)
 
# REQUIRED: OUTGOING MAIL SERVER SETTINGS
MAIL_HOST=(環境に合わせてSMTPサーバーを設定)
MAIL_PORT=(SMTPのポート)
MAIL_FROM_ADDR=(メールアドレス)
MAIL_REPLYTO_ADDR=(メールアドレス)

PHP仮想ホストを構成する

<VirtualHost *:80>
<Directory /var/www/html/snipe-it/public>
Allow From All
AllowOverride All
Options -Indexes
</Directory>

DocumentRoot /var/www/html/snipe-it/public
ServerName localhost
</VirtualHost>

10.依存するソフトをインストール

cd
sudo curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

cd /var/www/html/snipe-it/
sudo composer install --no-dev --prefer-source

ソフトウェアをインストールするか聞かれるのでYesを押し、しばらく待つ

11.APP_KEYの生成

APP_KEYを作成し、このキー自体はSnipe-ITの環境設定に書かれます。

sudo php artisan key:generate
sudo php artisan migrate

12.配置したSnipe-ITのpublic/uploadsやstorageにパーミッションを設定

ファイルにパーミッションを設定していきましょう。

sudo chown -R apache:apache /var/www/html/snipe-it

sudo chown -R apache:apache storage
sudo chown -R apache:apache public/uploads
sudo chown -R apache:apache bootstrap/cache

sudo chmod -R 755 storage
sudo chmod -R 755 public/uploads
sudo chmod -R 755 bootstrap/cache

Snipe-ITのWebインストーラーとダッシュボードへのアクセスのために、FWでアクセスを許可しましょう。

sudo firewall-cmd --zone=public --permanent --add-service=http

sudo firewall-cmd --reload

13.Snipe-ITを使うセットアップ

インストール作業が完了したらブラウザからSnipeーITへ接続してみます。
アドレスはサーバーのIPアドレスを入力します。
次のような画面が表示されれば、インストールが成功していると思います。

赤字はどこか間違ってるので、すべて緑にしましょう。

次に進むとデータベースのテーブル作成になります。

管理者を決めます。
必要項目に入力していきましょう。

すべて入力し、完成するとサイトが表示されます。
お疲れ様でした。

 

What do you think?

You must be logged in to post a comment.

閲覧数 3,182 件