147 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
function check_perms($path,$perm)
 | 
						|
{
 | 
						|
    clearstatcache();
 | 
						|
    $configmod = substr(sprintf('%o', fileperms($path)), -4); 
 | 
						|
    $trcss = (($configmod != $perm) ? "background-color:#fd7a7a;" : "background-color:#91f587;");
 | 
						|
	if($configmod != $perm) define("FAIL_INST", 1);
 | 
						|
    echo "<tr style=".$trcss.">"; 
 | 
						|
    echo "<td style=\"border:0px;\">". $path ."</td>"; 
 | 
						|
    echo "<td style=\"border:0px;\">$perm</td>"; 
 | 
						|
    echo "<td style=\"border:0px;\">$configmod</td>"; 
 | 
						|
    echo "</tr>";  
 | 
						|
}  
 | 
						|
?>
 | 
						|
 | 
						|
<html>
 | 
						|
<head><title>VPNManagement Installer Page</title></head>
 | 
						|
<body>
 | 
						|
<h1>Install VPNManagement</h1>
 | 
						|
 | 
						|
<p>Checking PHP...
 | 
						|
<?php
 | 
						|
if (version_compare(PHP_VERSION, '4.3.3') < 0)
 | 
						|
{
 | 
						|
	echo "<font color=red> [FAIL]</font></p>";
 | 
						|
	die('You are running an unsupported PHP version. Please upgrade to PHP 4.3.3 or higher before trying to install SchulVPN');
 | 
						|
}
 | 
						|
else
 | 
						|
{
 | 
						|
	echo "<font color=lime> [OK]</font></p>";
 | 
						|
}
 | 
						|
?>
 | 
						|
</p>
 | 
						|
<p>Checking OpenVPN...
 | 
						|
<?php
 | 
						|
   $vpn = shell_exec("/usr/sbin/openvpn --version");
 | 
						|
   preg_match('@[0-9]+\.[0-9]+\.[0-9]+@', $vpn, $versionvpn);
 | 
						|
	if (version_compare($versionvpn[0], '2.1.0') < 0)
 | 
						|
	{
 | 
						|
		echo "<font color=red> [FAIL]</font></p>";
 | 
						|
		die("You are running an unsupported OpenVPN version (".$versionvpn[0]."). Please upgrade to OpenVPN 2.1.0 or higher before trying to install SchulVPN");
 | 
						|
	}
 | 
						|
	else
 | 
						|
	{
 | 
						|
		echo "<font color=lime> [OK]</font></p>";
 | 
						|
	}
 | 
						|
?>
 | 
						|
</p>
 | 
						|
<p>Checking MySQL...
 | 
						|
<?php
 | 
						|
   $mysql = shell_exec('mysql -V');
 | 
						|
   preg_match('@[0-9]+\.[0-9]+\.[0-9]+@', $mysql, $version);
 | 
						|
   
 | 
						|
	if (version_compare($version[0], '5.0.00') < 0)
 | 
						|
	{
 | 
						|
		echo "<font color=red> [FAIL]</font></p>";
 | 
						|
		die('You are running an unsupported MySQL version (".$version[0]."). Please upgrade to MySQL 5.0.00 or higher before trying to install SchulVPN');
 | 
						|
	}
 | 
						|
	else
 | 
						|
	{
 | 
						|
		echo "<font color=lime> [OK]</font></p>";
 | 
						|
	}
 | 
						|
?>
 | 
						|
</p>
 | 
						|
<p>Checking OpenSSL...
 | 
						|
<?php
 | 
						|
	$ssl=exec("echo \$OPENSSL_CONF");;
 | 
						|
	if($ssl == "/etc/openvpn/easy-rsa2/openssl.cnf")
 | 
						|
	{
 | 
						|
		echo "<font color=lime> [OK]</font></p>";
 | 
						|
	}
 | 
						|
	else
 | 
						|
	{
 | 
						|
		echo "<font color=red> [FAIL]</font></p>";
 | 
						|
		die("No OpenSSL Config found: ".$ssl." should be: /etc/openvpn/easy-rsa2/openssl.cnf!");
 | 
						|
	}
 | 
						|
?>
 | 
						|
</p>
 | 
						|
<p>Checking Directorys...
 | 
						|
<table width=\"70%\"  border=\"1\" cellspacing=\"0\" cellpadding=\"3\" style=\"text-align:center;\">
 | 
						|
         <tr>
 | 
						|
        <th style="border:5px;"><b>File/Folder Name</b></th>
 | 
						|
        <th style="border:5px;"><b>Needed Chmod</b></th>
 | 
						|
        <th style="border:5px;"><b>Current Chmod</b></th>
 | 
						|
    </tr>
 | 
						|
    <?php 
 | 
						|
        check_perms("/srv/www/vhosts_admhaasch/vpn.sprinternet.at/public_html","0775");
 | 
						|
		check_perms("/etc/openvpn","0777");
 | 
						|
		check_perms("/etc/openvpn/easy-rsa2","0777");
 | 
						|
		check_perms("/etc/openvpn/easy-rsa2/keys","0777");
 | 
						|
		check_perms("/etc/openvpn/config/server.conf","0666");
 | 
						|
		check_perms("/etc/openvpn/config/database","0666");
 | 
						|
    ?>
 | 
						|
</table>
 | 
						|
<?php 
 | 
						|
if(FAIL_INST == 1)
 | 
						|
{
 | 
						|
	die('Please change the folder/file permissions!');
 | 
						|
}
 | 
						|
?>
 | 
						|
</p>
 | 
						|
 | 
						|
<form action="install1.php" method="post"> 
 | 
						|
<table>
 | 
						|
<br>
 | 
						|
  <tr>
 | 
						|
    <td>Rootuser/Server:</td>
 | 
						|
    <td><input type="text" name="name" size="50" value="root"><td>
 | 
						|
  </tr>
 | 
						|
  <tr>
 | 
						|
    <td>Rootuser/Server Email:</td>
 | 
						|
    <td><input type="text" name="email" size="50"><td>
 | 
						|
  </tr>
 | 
						|
  <tr>
 | 
						|
    <td>Passwort:</td>
 | 
						|
    <td><input type="password" name="pwd" size="50"></td>
 | 
						|
  </tr> 
 | 
						|
  <tr>
 | 
						|
    <td>Datenbank Server:</td>
 | 
						|
    <td><input type="text" name="dbserv" size="50" value="localhost"><td>
 | 
						|
  </tr>
 | 
						|
  <tr>
 | 
						|
    <td>Datenbank Port:</td>
 | 
						|
    <td><input type="text" name="dbport" size="50" value="3306"></td>
 | 
						|
  </tr> 
 | 
						|
  <tr>
 | 
						|
    <td>Datenbank Name:</td>
 | 
						|
    <td><input type="text" name="dbname" size="50" value="openvpn"></td>
 | 
						|
  </tr>  
 | 
						|
  <tr>
 | 
						|
    <td>Datenbank User:</td>
 | 
						|
    <td><input type="text" name="dbuser" size="50"></td>
 | 
						|
  </tr> 
 | 
						|
  <tr>
 | 
						|
    <td>Datenbank Passwort:</td>
 | 
						|
    <td><input type="password" name="dbpwd" size="50"></td>
 | 
						|
  </tr>   
 | 
						|
  <tr>
 | 
						|
    <td>OpenVPN Config Directory (WITHOUT ending /):</td>
 | 
						|
    <td><input type="text" name="vpndir" size="50" value="/etc/openvpn/config"></td>
 | 
						|
  </tr> 
 | 
						|
</table>
 | 
						|
  <input type="submit" value="Install! STEP 1"> 
 | 
						|
</form> 
 | 
						|
</body>
 | 
						|
</html>
 |