Cài đặt Snipe-IT trên CentOS 7 – Snipe-IT là một ứng dụng mã nguồn mở miễn phí giúp quản lý tài sản CNTT như giấy phép, phụ kiện, vật tư tiêu hao và các thành phần. Snipe-IT tích hợp thông báo email cho người dùng và quản trị viên. Nó là phần mềm giao diện web đa nền tảng và giàu tính năng được xây dựng bằng Laravel Framework.
Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cách cấu hình và cài đặt Snipe-IT trên CentOS 7.
Hướng dẫn cài đặt Snipe-IT trên CentOS 7
1. Tính năng chính của Snipe-IT
- Hỗ trợ hệ điều hành Windows, Linux và Mac.
- Hỗ trợ dịch sang nhiều ngôn ngữ.
- Tích hợp với máy quét mã vạch và ứng dụng đọc mã QR.
- Hỗ trợ xác thực hai yếu tố với Google Authenticator.
- Tích hợp với LDAP và Active Directory.
- Phần mềm dựa trên web giúp nó hoạt động trên mọi thiết bị.
- Thêm các trường tùy chỉnh (Custom field) của riêng bạn cho các thuộc tính tài sản bổ sung.
2. Cài đặt Snipe-IT trên CentOS 7
Yêu cầu:
1 VPS ram từ 2GB trở lên với hệ điều hành CentOS 7. Nếu bạn chưa có VPS hãy tham khảo ngay các gói Cloud VPS của HOSTVN.
Lưu ý:
Trong bài viết này HOSTVN sẽ ví dụ với tên miền snipeit.hostvn.net. Các bạn cần thay tên miền này bằng tên miền của các bạn khi cài đặt.
2.1. Bước 1: Cài đặt LAMP hoặc LEMP
Snipe-IT được phát triển dựa trên Laravel Framework vì vậy để có thể chạy được Snipe-IT trước tiên các bạn sẽ cần cài đặt Webserver và các thành phần liên quan. Các bạn có thể lựa chọn cài đặt LAMP (Apache – PHP – Mariadb) hoặc LEMP (Nginx – PHP – Mariadb)
2.2. Bước 2: Tạo database và user Mysql
Sau khi đã hoàn tất việc cài đặt LAMP hoặc LEMP các bạn cần tạo database và user Mysql cho Snipe-IT. Để tạo databse và user trước tiên các bạn cần login vào mysql bằng cách sử dụng lệnh sau
mysql -u root -p
Nhập mật khẩu root của Mysql khi được hỏi. Mật khẩu root Mysql chính là mật khẩu mà các bạn đã đặt trong bước cài đặt Mariadb
Tiếp theo các bạn chạy lần lượt các lệnh dưới đây để tạo databse và user
create database snipeit_db; create user 'snipeit_user'@'localhost' identified BY 'Mật-Khẩu-Mysql'; grant all privileges on snipeit_db.* to snipeit_user@localhost; flush privileges; exit
Trong đó:
- snipeit_db : Tên database muốn tạo, các bạn có thể thay bằng tên tuỳ ý.
- snipeit_user : User Mysql muốn tạo, các bạn có thể thay bằng tên tuỳ ý.
- Mật-Khẩu-Mysql : Mật khẩu Mysql, các bạn có thể thay bằng mật khẩu tuỳ ý.
Các bạn cần lưu lại 3 thông tin này để sử dụng trong các bước tiếp theo.
2.3. Bước 3: Tạo Virtual host
Tiếp theo các bạn cần tạo file virtual host cho Snipe-IT
- Đối với Apache: Tạo file /etc/httpd/conf.d/snipeit.conf
<VirtualHost *:80> ServerName www.snipeit.hostvn.net ServerAlias snipeit.hostvn.net DocumentRoot /home/snipeit.hostvn.net/public_html/public ErrorLog /home/snipeit.hostvn.net/logs/error_log CustomLog /home/hostvn.net/logs/access_log combined </VirtualHost>
- Đối với Nginx: Tạo file /etc/nginx/conf.d/snipeit.conf
server { listen 80; server_name www.snipeit.hostvn.net snipeit.hostvn.net; root /home/snipeit.hostvn.net/public_html/public/; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ .php$ { try_files $uri $uri/ =404; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Tiếp theo các bạn cần tạo thư mục chứa mã nguồn website và thư mục chứa file log bằng các lệnh sau
mkdir -p /home/snipeit.hostvn.net/public_html mkdir -p /home/snipeit.hostvn.net/logs
Khởi động lại Apache hoặc Nginx để load cấu hình
service httpd restart Hoặc service nginx restart
2.4. Bước 4: Cài đặt Composer
Do Snipe-IT được viết bằng Laravel Framework nên các bạn sẽ cần cài đặt Composer để dễ dàng hơn trong việc cài đặt cũng như quản lý package của Snipe-IT
2.5. Bước 5: Cài đặt Git
Để cài đặt Git trên CentOS các bạn có thể làm theo hướng dẫn sau: Hướng dẫn cài đặt Git trên CentOS 7
2.6. Bước 6: Download Snipe-IT
Cách dễ dàng nhất để download Snipe-IT là sử dụng Git. Để download các bạn chỉ cần chạy lệnh sau
cd /home/snipeit.hostvn.net/public_html git clone https://github.com/snipe/snipe-it
Trong đó /home/snipeit.hostvn.net/public_html là Document root các bạn cấu hình ở bước 3.
Tiếp theo các bạn cần di chuyển toàn bộ file và thư mục trong thư mục snipe-it ra ngoài public_html
mv /home/snipeit.hostvn.net/public_html/snipe-it/{.,}* /home/snipeit.hostvn.net/public_html/ rm -rf /home/snipeit.hostvn.net/public_html/snipe-it
Các bạn nhập A và ấn Enter khi được hỏi
Tiếp theo các bạn chạy lệnh sau để cài đặt các thành phần cần thiết
composer install
Sau khi cài đặt xong các thành phần cần thiết các bạn mở file /home/snipeit.hostvn.net/public_html/config/app.php tìm dòng
'cipher' => env('APP_CIPHER', 'AES-256-CBC'),
Sửa lại thành
'cipher' => env('APP_CIPHER', 'AES-128-CBC'),
Cuối cùng chúng ta tạo APP_KEY bằng cách chạy 2 lệnh sau
cp .env.example .env php artisan key:generate
Nhập yes và nhấn Enter khi được hỏi
2.7. Bước 7: Cấu hình Snipe-IT
Tiếp theo các bạn cần cấu hình kết nối Mysql. Trước tiên các bạn chạy lệnh sau
mv /home/snipeit.hostvn.net/public_html/.env.example /home/snipeit.hostvn.net/public_html/.env
Tiếp theo mở file /home/snipeit.hostvn.net/public_html/.env và chỉnh sửa các thông số sau
DB_USERNAME=null
DB_PASSWORD=null
Thay null bằng các thông số mà các bạn đã tạo ở Bước 2: Tạo database và user Mysql
2.8. Set owner cho file và thư mục
Sau khi hoàn tất cài đặt các bạn cần set owner cho file và thư mục để tránh các lỗi về quyền
- Đối với Apache
chown -R apache:apache /home/snipeit.hostvn.net/public_html chown -R apache:apache /home/snipeit.hostvn.net/logs
- Đối với Nginx
chown -R nginx:nginx /home/snipeit.hostvn.net/public_html chown -R nginx:nginx /home/snipeit.hostvn.net/logs
2.9. Bước 9: Cài đặt Snipe-IT trên CentOS 7
Để tiến hành cài đặt Snipe-IT các bạn truy cập vào địa chỉ web mà các bạn đã thiết lập. Ví dụ: http://snipeit.hostvn.net/ và nhấn Next: Create Database Tables
Tại trang tiếp theo các bạn nhấn Net: Create User
Điền đầy đủ các thông tin sau đó nhấn Netx: Save user
Sau khi quá trình cài đặt hoàn tất các bạn sẽ được chuyển đến trang chủ
3. Link tham khảo
4. Kết luận
Qua bài viết này HOSTVN đã hướng dẫn các bạn cách cài đặt Snipe-IT trên CentOS 7. Nếu có bất kỳ ý kiến đóng góp nào cá bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm Hướng dẫn cài đặt Jitsi Meet trên Ubuntu 18.
cho mình hỏi sao trong file Virtual lại để thành /home/snipeit.hostvn.net/public_html/public trong khi đó get code về lại để trong /public_html vậy Ad?
Cái này là theo cấu trúc của Laravel, bạn có thể tìm hiểu về Laravel để hiểu rõ hơn.
Ad xem hộ e. e làm y như trên với. File virtualhost e config đúng như hướng dẫn. get code về rồi. mà khi truy cập nó lại ra trang mặc định của apache.
ServerName snipeit.synergix
ServerAdmin admin@srv.snipeit.synergix
DocumentRoot /srv/www/snipeit.synergix/public_html/public
ErrorLog /srv/www/snipeit.synergix/logs/error_log
CustomLog /srv/www/snipeit.synergix/logs/access_log combined
AllowOverride All
Options None
Require method GET POST OPTIONS
ServerName snipeit.synergix
ServerAdmin admin@srv.snipeit.synergix
DocumentRoot /srv/www/snipeit.synergix/public_html/public
ErrorLog /srv/www/snipeit.synergix/logs/error_log
CustomLog /srv/www/snipeit.synergix/logs/access_log combined
AllowOverride All
Options None
Require method GET POST OPTIONS
Restart apache chưa bạn
PHP Parse error: syntax error, unexpected ‘class’ (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or ‘{‘ or ‘$’ in /home/snipeit.novaon.vn/public_html/artisan on line 31
e bị gặp lỗi này khi dùng lệnh ” php artisan key:generate ” ạ
Bạn kiểm tra lại phiên bản PHP đang sử dụng xem sao nhé.