centos linux 安装composer 并且添加到环境变量

本文详细介绍如何在CentOS系统中将PHP设置为全局命令,并通过curl命令下载Composer安装文件,将其移动到全局路径,最终完成Composer的安装配置。

首先把php添加到全局命令 参考添加php命令到全局变量-centos

如果php已经是全局命令

1、执行下面命令 下载composer.phar文件

curl -sS https://getcomposer.org/installer | php

2、移动composer.phar文件到/usr/local/bin目录下  是命令全局可用

 mv composer.phar /usr/local/bin/composer

3、在命令行执行composer 

4、composer安装成功

<think>我们正在安装Snipe-IT在CentOS9上。Snipe-IT是一个开源的资产管理系统,需要LAMP(Linux,Apache,MySQL,PHP)或LEMP(Linux,Nginx,MySQL,PHP)环境。根据引用[1]的指引,我们将在CentOS7上安装,但CentOS9的步骤类似,但需要注意一些软件包的名称变化和系统配置差异。此外,引用[2]提到了SELinux的问题,在CentOS9上也可能需要调整。由于CentOS9是最新的,可能会缺少官方仓库,我们需要确保使用合适的仓库。引用[3]提供了使用阿里云仓库的方法,但我们也可以使用默认仓库或EPEL仓库。安装步骤概述:1.安装必要的软件:Apache(或Nginx)、MariaDB、PHP以及PHP扩展。2.配置数据库。3.下载并安装Snipe-IT。4.配置Apache(或Nginx)。5.调整文件权限和SELinux设置(如果需要)。6.配置防火墙。7.运行安装向导。详细步骤:1.更新系统并安装必要的软件:```bashsudodnfupdate-ysudodnfinstall-yhttpdmariadb-servermariadbphpphp-commonphp-mysqlndphp-gdphp-ldapphp-curlphp-xmlphp-mbstringphp-bcmathphp-zipphp-opcachephp-fpmwgetunzipgit```2.启动并启用MariaDB和Apache服务:```bashsudosystemctlstartmariadbsudosystemctlenablemariadbsudosystemctlstarthttpdsudosystemctlenablehttpd```3.配置MySQL安全设置,并创建数据库和用户(交互式):```bashsudomysql_secure_installation#根据提示设置root密码并回答安全选项```然后登录到MySQL创建数据库和用户:```bashmysql-uroot-p``````sqlCREATEDATABASEsnipeit;CREATEUSER'snipeit'@'localhost'IDENTIFIEDBY'your_password';GRANTALLPRIVILEGESONsnipeit.*TO'snipeit'@'localhost';FLUSHPRIVILEGES;exit```4.下载Snipe-IT:```bashcd/var/www/htmlsudogitclonehttps://github.com/snipe/snipe-it.gitsnipe-it```5.配置Snipe-IT环境:```bashcdsnipe-itsudocp.env.example.envsudovim.env```修以下关键配置(根据你的情况):```iniAPP_URL=http://your-server-ip-or-domainDB_DATABASE=snipeitDB_USERNAME=snipeitDB_PASSWORD=your_password```6.安装PHP依赖(需要安装Composer):```bash#安装Composersudocurl-sShttps://getcomposer.org/installer|phpsudomvcomposer.phar/usr/local/bin/composersudochmod+x/usr/local/bin/composer#安装依赖sudocomposerinstall--no-dev--prefer-source```7.设置文件和目录权限:```bashsudochown-Rapache:apache/var/www/html/snipe-itsudochmod-R755/var/www/html/snipe-it/storage```8.配置Apache虚拟主机(可选,如果默认站点可用则跳过):在`/etc/httpd/conf.d/snipe-it.conf`中创建一个配置文件:```apache<VirtualHost*:80>ServerAdminadmin@example.comDocumentRoot"/var/www/html/snipe-it/public"ServerNameyour-domain.comServerAliaswww.your-domain.com<Directory"/var/www/html/snipe-it/public">OptionsIndexesFollowSymLinksAllowOverrideAllRequireallgranted</Directory>ErrorLog"/var/log/httpd/snipe-it_error.log"CustomLog"/var/log/httpd/snipe-it_access.log"combined</VirtualHost>```然后启用重写模块并重启Apache:```bashsudodnfinstall-yhttpdmod_rewritesudosystemctlrestarthttpd```9.防火墙配置(如果启用了防火墙):```bashsudofirewall-cmd--zone=public--add-service=http--permanentsudofirewall-cmd--reload```10.配置SELinux(如果遇到权限问题):根据引用[2],如果访问有问题,可以尝试临时关闭SELinux或者永久关闭(不推荐)。或者,你可以设置SELinux的布尔值:```bashsudosetsebool-Phttpd_can_network_connect_dbonsudosetsebool-Phttpd_can_network_connectonsudosetsebool-Phttpd_can_sendmailonsudosemanagefcontext-a-thttpd_sys_content_t'/var/www/html/snipe-it(/.*)?'sudorestorecon-R/var/www/html/snipe-it```11.运行安装向导:打开浏览器访问`http://your-server-ip-or-domain`并按照安装向导完成安装。注意事项:-上述步骤使用Apache作为Web服务器。如果你想使用Nginx,需要安装和配置Nginx以及PHP-FPM。-在CentOS9中,软件包名称可能有变化,请用`dnfsearch`查找替代包。-如果使用CentOS9,请确保使用支持PHP8.0或更高版本的仓库,因为Snipe-IT需要PHP7.4或更高版本。由于CentOS9已经将传统的SELinux设置保留,因此建议先临时禁用SELinux进行测试,如果问题解决,再按照引用[2]永久禁用或调整策略[^2]。如果安装过程中遇到问题,请检查Apache错误日志和Snipe-IT的日志(位于`storage/logs`目录)[^1]。最后,希望你能成功安装Snipe-IT并开始使用[^1]。</think> ### 在 CentOS 9 上安装 Snipe-IT 资产管理系统 以下是完整的安装步骤,已适配 CentOS 9 的系统环境: #### 1. 系统环境准备 ```bash # 更新系统 sudo dnf update -y # 安装 EPEL 仓库(CentOS 9 需额外添加) sudo dnf install -y epel-release ``` #### 2. 安装 LAMP 环境 ```bash # 安装基础组件 sudo dnf install -y httpd mariadb-server mariadb php php-common php-mysqlnd php-gd php-ldap php-curl php-xml php-mbstring php-bcmath php-zip php-opcache wget unzip git ``` #### 3. 配置数据库 ```bash # 启动数据库服务 sudo systemctl enable --now mariadb # 安全初始化 sudo mysql_secure_installation # 创建数据库(替换 YOUR_PASSWORD) mysql -u root -p <<EOF CREATE DATABASE snipeit; CREATE USER 'snipeit'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD'; GRANT ALL PRIVILEGES ON snipeit.* TO 'snipeit'@'localhost'; FLUSH PRIVILEGES; exit EOF ``` #### 4. 安装 Snipe-IT ```bash # 克隆代码库 cd /var/www sudo git clone https://github.com/snipe/snipe-it.git sudo chown -R apache:apache snipe-it cd snipe-it # 安装依赖 sudo -u apache composer install --no-dev --prefer-source # 复制环境文件 sudo -u apache cp .env.example .env ``` #### 5. 配置环境变量 编辑 `.env` 文件: ```ini APP_URL=http://your-server-ip DB_DATABASE=snipeit DB_USERNAME=snipeit DB_PASSWORD=YOUR_PASSWORD ``` #### 6. 生成应用密钥 ```bash sudo -u apache php artisan key:generate ``` #### 7. 配置 Apache 创建虚拟主机配置 `/etc/httpd/conf.d/snipe-it.conf`: ```apache <VirtualHost *:80> DocumentRoot "/var/www/snipe-it/public" ServerName your-domain.com <Directory "/var/www/snipe-it/public"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog /var/log/httpd/snipe-it_error.log CustomLog /var/log/httpd/snipe-it_access.log combined </VirtualHost> ``` #### 8. 调整 SELinux 设置 ```bash # 临时禁用 sudo setenforce 0 # 永久禁用(编辑文件) sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config ``` #### 9. 启动服务 ```bash # 设置文件权限 sudo chcon -R -t httpd_sys_content_t /var/www/snipe-it sudo chcon -R -t httpd_sys_rw_content_t /var/www/snipe-it/storage # 重启服务 sudo systemctl enable --now httpd sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload ``` #### 10. 完成安装 浏览器访问 `http://your-server-ip`,按照安装向导完成设置: 1. 检查系统环境要求 2. 配置数据库连接 3. 创建管理员账户 4. 保存设置并登录 #### 验证安装 检查服务状态: ```bash sudo systemctl status httpd mariadb ``` #### 常见问题解决 1. **访问被拒绝**:检查SELinux状态,确认文件权限(`/var/www/snipe-it` 应属apache用户) 2. **数据库连接错误**:验证`.env`文件中的数据库凭证正确 3. **PHP模块缺失**:通过`php -m`检查所需模块是否加载 #### 最佳实践 - 启用 HTTPS 加密访问 - 定期备份 `/var/www/snipe-it` 目录和数据库 - 设置 cron 任务:`sudo -u apache php artisan schedule:run >> /dev/null 2>&1` > **重要提示**:安装完成后应修默认 `APP_KEY` 并保持 `.env` 文件安全,禁止外部访问[^1][^2]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值