|
|
#!/bin/bash |
|
|
|
|
|
echo "启动 Hugging Face Space WordPress..." |
|
|
|
|
|
|
|
|
/scripts/setup-data.sh |
|
|
|
|
|
|
|
|
/scripts/setup-security.sh |
|
|
|
|
|
|
|
|
cp /config/logrotate/wordpress /etc/logrotate.d/wordpress |
|
|
|
|
|
|
|
|
echo "启动 MySQL..." |
|
|
mysqld_safe --datadir=/data/mysql --user=mysql & |
|
|
MYSQL_PID=$! |
|
|
|
|
|
|
|
|
echo "等待 MySQL 启动..." |
|
|
for i in {1..30}; do |
|
|
if mysqladmin ping --silent 2>/dev/null; then |
|
|
echo "MySQL 已启动" |
|
|
break |
|
|
fi |
|
|
if [ $i -eq 30 ]; then |
|
|
echo "MySQL 启动超时" |
|
|
exit 1 |
|
|
fi |
|
|
sleep 2 |
|
|
done |
|
|
|
|
|
|
|
|
echo "初始化 WordPress 数据库..." |
|
|
mysql -u root -e " |
|
|
CREATE DATABASE IF NOT EXISTS wordpress; |
|
|
CREATE USER IF NOT EXISTS 'wordpress'@'localhost' IDENTIFIED BY 'wordpress_password'; |
|
|
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost'; |
|
|
FLUSH PRIVILEGES; |
|
|
" 2>/dev/null || true |
|
|
|
|
|
|
|
|
if [ ! -f "/var/www/html/wp-config.php" ]; then |
|
|
cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php |
|
|
fi |
|
|
|
|
|
|
|
|
sed -i 's/Listen 80/Listen 7860/' /etc/apache2/ports.conf 2>/dev/null || true |
|
|
|
|
|
|
|
|
echo "启动 Apache (端口 7860)..." |
|
|
apache2ctl -D FOREGROUND & |
|
|
APACHE_PID=$! |
|
|
|
|
|
|
|
|
sleep 5 |
|
|
|
|
|
|
|
|
/scripts/monitor-storage.sh |
|
|
|
|
|
|
|
|
echo "执行健康检查..." |
|
|
if curl -f http://localhost:7860/ >/dev/null 2>&1; then |
|
|
echo "WordPress 服务已启动并可通过端口 7860 访问" |
|
|
else |
|
|
echo "警告: WordPress 服务可能未正常启动" |
|
|
fi |
|
|
|
|
|
echo "所有服务已启动" |
|
|
echo "WordPress 管理员入口: http://localhost:7860/wp-admin/" |
|
|
echo "数据持久化目录: /data" |
|
|
|
|
|
|
|
|
wait $APACHE_PID $MYSQL_PID |