blogですかい

仕事、プライベートで学んだことなどを発信し、その内容がたとえ少数でも誰かの役に立ったらなら、それはとっても嬉しいなって

Debian用Nginx設定ツール

DebianのWebサーバの設定の仕方って独特で、
Apacheだったらa2ensiteとかa2dissiteといったコマンドを使うのですが、
それに相当するNginx用のコマンドが見当たらなかったので自分で作りました、PHPで。

githubにも置いてあります。oh-sky/Tools4Nginx · GitHub

nxensite (a2ensite相当)


#!/usr/bin/php
<?php
//設定ファイル設置ディレクトリ
define('CONFIGURE_FILE_DIR','/etc/nginx/sites-available/');
//有効設定ファイルへのソフトリンク設置ディレクトリ
define('CONFIGURE_SLINK_DIR','/etc/nginx/sites-enabled/');

switch($argc)
{
case 2:
$configure_file = CONFIGURE_FILE_DIR . $argv[1];
$configure_symlink = CONFIGURE_SLINK_DIR . $argv[1];
if(file_exists($configure_file))
{
if(file_exists($configure_symlink)){
echo "{$configure_symlink} already exists.\n";
exit();
}
passthru('ln -s ' . $configure_file .' '. $configure_symlink);
echo "Creating Symlink {$configure_symlink}\n";
exit();
}else{
echo "{$configure_file} doesn't exists.\n";
exit();
}
default:
exit("usage: {$argv[0]} SiteName\n");
}
?>

nxdissite (a2dissite相当)


#!/usr/bin/php
<?php
//有効設定ファイルへのソフトリンク設置ディレクトリ
define('CONFIGURE_SLINK_DIR','/etc/nginx/sites-enabled/');

switch($argc)
{
case 2:
$configure_symlink = CONFIGURE_SLINK_DIR . $argv[1];
if(is_link($configure_symlink))
{
passthru('rm -f ' . $configure_symlink);
echo "Removing Symlink {$configure_symlink}\n";
exit();
}else{
echo "{$configure_symlink} doesn't exists.\n";
exit();
}
default:
exit("usage: {$argv[0]} SiteName\n");
}
?>