title: 一键安装脚本Phpipam date: 2024-12-02T14:10:31+08:00
install_phpipam.sh 优化版#!/bin/bash
# 设置常量
DB_NAME="phpipam"
DB_USER="phpipamuser"
DB_PASSWORD="phpipam_password"
PHPIPAM_DIR="/var/www/phpipam"
DOMAIN="your-domain-or-ip" # 请替换为你的域名或IP地址
# 更新系统
echo "更新系统..."
sudo dnf update -y
# 安装必要的软件包
echo "安装必要的软件包..."
sudo dnf install -y epel-release
sudo dnf install -y nginx php-fpm php-mysqlnd php-cli git mariadb-server
# 启动并启用服务
echo "启动并启用服务..."
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb
# 配置MariaDB数据库
echo "配置MariaDB数据库..."
mysql -u root <<EOF
CREATE DATABASE ${DB_NAME};
CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASSWORD}';
GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';
FLUSH PRIVILEGES;
EXIT;
EOF
# 克隆PHPIPAM源码
echo "克隆PHPIPAM源码..."
cd /var/www/
sudo git clone https://github.com/phpipam/phpipam.git
sudo chown -R nginx:nginx phpipam
sudo chmod -R 755 phpipam
# 配置PHP-FPM
echo "配置PHP-FPM..."
sudo sed -i 's/user = apache/user = nginx/' /etc/php-fpm.d/www.conf
sudo sed -i 's/group = apache/group = nginx/' /etc/php-fpm.d/www.conf
sudo sed -i 's|listen = 127.0.0.1:9000|listen = /var/run/php-fpm/php-fpm.sock|' /etc/php-fpm.d/www.conf
# 启动PHP-FPM服务
echo "启动PHP-FPM服务..."
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
# 配置Nginx
echo "配置Nginx..."
cat <<EOF | sudo tee /etc/nginx/conf.d/phpipam.conf > /dev/null
server {
listen 80;
server_name ${DOMAIN};
root ${PHPIPAM_DIR};
index index.php index.html index.htm;
location / {
try_files \$uri \$uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
EOF
# 重启Nginx服务
echo "重启Nginx服务..."
sudo systemctl restart nginx
# 设置PHPIPAM配置
echo "配置PHPIPAM数据库连接..."
cat <<EOF | sudo tee ${PHPIPAM_DIR}/config.php > /dev/null
<?php
// Database configuration
\$db['host'] = 'localhost';
\$db['user'] = '${DB_USER}';
\$db['pass'] = '${DB_PASSWORD}';
\$db['name'] = '${DB_NAME}';
\$db['port'] = 3306;
\$db['type'] = 'mysqli';
\$db['socket'] = '';
// Other configurations
\$enable_phpipam_dhcp = false;
\$enable_phpipam_radius = false;
?>
EOF
# 完成安装提示
echo "PHPIPAM安装完成!访问 http://${DOMAIN} 即可进行Web界面配置!"
创建安装脚本文件: 将上面的脚本内容复制到一个新的 .sh 文件中,例如 install_phpipam.sh。
nano install_phpipam.sh
然后粘贴脚本内容并保存。
赋予脚本执行权限:
chmod +x install_phpipam.sh
执行脚本:
./install_phpipam.sh
DOMAIN 设置:
DOMAIN 变量替换为你的域名或 IP 地址,如 example.com 或 192.168.1.100。这将配置 Nginx 使其在访问时指向 PHPIPAM。数据库密码:
phpipam_password,你可以根据需要修改。此密码会自动应用于数据库创建及配置文件。访问 Web 配置:
http://your-domain-or-ip,即可自动进入 PHPIPAM 安装界面,填写一些基础信息完成安装。这个脚本是完全自动化的,执行后会创建数据库、配置 Nginx 和 PHP-FPM,确保你可以直接访问 Web 界面。