Blame


1 0fd75c45 2022-07-30 mischa <?php
2 0fd75c45 2022-07-30 mischa //
3 0fd75c45 2022-07-30 mischa // Postfix Admin
4 0fd75c45 2022-07-30 mischa // by Mischa Peters <mischa at high5 dot net>
5 0fd75c45 2022-07-30 mischa // Copyright (c) 2002 - 2005 High5!
6 0fd75c45 2022-07-30 mischa // License Info: http://www.postfixadmin.com/?file=LICENSE.TXT
7 0fd75c45 2022-07-30 mischa //
8 0fd75c45 2022-07-30 mischa // File: index.php
9 0fd75c45 2022-07-30 mischa //
10 0fd75c45 2022-07-30 mischa // Template File: -none-
11 0fd75c45 2022-07-30 mischa //
12 0fd75c45 2022-07-30 mischa // Template Variables:
13 0fd75c45 2022-07-30 mischa //
14 0fd75c45 2022-07-30 mischa // -none-
15 0fd75c45 2022-07-30 mischa //
16 0fd75c45 2022-07-30 mischa // Form POST \ GET Variables:
17 0fd75c45 2022-07-30 mischa //
18 0fd75c45 2022-07-30 mischa // -none-
19 0fd75c45 2022-07-30 mischa //
20 0fd75c45 2022-07-30 mischa ?>
21 0fd75c45 2022-07-30 mischa <html>
22 0fd75c45 2022-07-30 mischa <head>
23 0fd75c45 2022-07-30 mischa <title>Postfix Admin Setup Checker</title>
24 0fd75c45 2022-07-30 mischa </head>
25 0fd75c45 2022-07-30 mischa <body>
26 0fd75c45 2022-07-30 mischa <img id="login_header_logo" src="images/postbox.png" />
27 0fd75c45 2022-07-30 mischa <img id="login_header_logo" src="images/postfixadmin2.png" />
28 0fd75c45 2022-07-30 mischa <h2>Postfix Admin Setup Checker 1.0.0</h2>
29 0fd75c45 2022-07-30 mischa Running software:<br />
30 0fd75c45 2022-07-30 mischa <p />
31 0fd75c45 2022-07-30 mischa <?php
32 0fd75c45 2022-07-30 mischa //
33 0fd75c45 2022-07-30 mischa // Check for availablilty functions
34 0fd75c45 2022-07-30 mischa //
35 0fd75c45 2022-07-30 mischa $f_phpversion = function_exists ("phpversion");
36 0fd75c45 2022-07-30 mischa $f_apache_get_version = function_exists ("apache_get_version");
37 0fd75c45 2022-07-30 mischa $f_get_magic_quotes_gpc = function_exists ("get_magic_quotes_gpc");
38 0fd75c45 2022-07-30 mischa $f_mysql_connect = function_exists ("mysql_connect");
39 0fd75c45 2022-07-30 mischa $f_mysqli_connect = function_exists ("mysqli_connect");
40 0fd75c45 2022-07-30 mischa $f_pg_connect = function_exists ("pg_connect");
41 0fd75c45 2022-07-30 mischa $f_session_start = function_exists ("session_start");
42 0fd75c45 2022-07-30 mischa $f_preg_match = function_exists ("preg_match");
43 0fd75c45 2022-07-30 mischa
44 0fd75c45 2022-07-30 mischa $file_config = file_exists (realpath ("./config.inc.php"));
45 0fd75c45 2022-07-30 mischa
46 0fd75c45 2022-07-30 mischa $error = 0;
47 0fd75c45 2022-07-30 mischa
48 0fd75c45 2022-07-30 mischa //
49 0fd75c45 2022-07-30 mischa // Check for PHP version
50 0fd75c45 2022-07-30 mischa //
51 0fd75c45 2022-07-30 mischa if ($f_phpversion == 1)
52 0fd75c45 2022-07-30 mischa {
53 0fd75c45 2022-07-30 mischa if (phpversion() < 5) $phpversion = 4;
54 0fd75c45 2022-07-30 mischa if (phpversion() >= 5) $phpversion = 5;
55 0fd75c45 2022-07-30 mischa print "- PHP version " . phpversion () . "<br />\n";
56 0fd75c45 2022-07-30 mischa }
57 0fd75c45 2022-07-30 mischa else
58 0fd75c45 2022-07-30 mischa {
59 0fd75c45 2022-07-30 mischa print "<li><b>Unable to check for PHP version. (missing function: phpversion())</b><br />\n";
60 0fd75c45 2022-07-30 mischa }
61 0fd75c45 2022-07-30 mischa print "<p />\n";
62 0fd75c45 2022-07-30 mischa
63 0fd75c45 2022-07-30 mischa //
64 0fd75c45 2022-07-30 mischa // Check for Apache version
65 0fd75c45 2022-07-30 mischa //
66 0fd75c45 2022-07-30 mischa if ($f_apache_get_version == 1)
67 0fd75c45 2022-07-30 mischa {
68 0fd75c45 2022-07-30 mischa print "- " . apache_get_version() . "<br /><p />\n";
69 0fd75c45 2022-07-30 mischa }
70 0fd75c45 2022-07-30 mischa else
71 0fd75c45 2022-07-30 mischa {
72 0fd75c45 2022-07-30 mischa print "<li><b>Unable to check for Apache version. (missing function: apache_get_version())</b><br />\n";
73 0fd75c45 2022-07-30 mischa }
74 0fd75c45 2022-07-30 mischa print "<p />\n";
75 0fd75c45 2022-07-30 mischa
76 0fd75c45 2022-07-30 mischa print "Checking for dependencies:<br />\n";
77 0fd75c45 2022-07-30 mischa print "<p />\n";
78 0fd75c45 2022-07-30 mischa
79 0fd75c45 2022-07-30 mischa //
80 0fd75c45 2022-07-30 mischa // Check for Magic Quotes
81 0fd75c45 2022-07-30 mischa //
82 0fd75c45 2022-07-30 mischa if ($f_get_magic_quotes_gpc == 1)
83 0fd75c45 2022-07-30 mischa {
84 0fd75c45 2022-07-30 mischa if (get_magic_quotes_gpc () == 1)
85 0fd75c45 2022-07-30 mischa {
86 0fd75c45 2022-07-30 mischa print "- Magic Quotes: ON<br /><p />\n";
87 0fd75c45 2022-07-30 mischa }
88 0fd75c45 2022-07-30 mischa else
89 0fd75c45 2022-07-30 mischa {
90 0fd75c45 2022-07-30 mischa print "<li><b>Warning: Magic Quotes: OFF (using internal function!)</b><br /><p />\n";
91 0fd75c45 2022-07-30 mischa }
92 0fd75c45 2022-07-30 mischa }
93 0fd75c45 2022-07-30 mischa else
94 0fd75c45 2022-07-30 mischa {
95 0fd75c45 2022-07-30 mischa print "<li><b>Unable to check for Magic Quotes. (missing function: get_magic_quotes_gpc())</b><br />\n";
96 0fd75c45 2022-07-30 mischa }
97 0fd75c45 2022-07-30 mischa print "<p />\n";
98 0fd75c45 2022-07-30 mischa
99 0fd75c45 2022-07-30 mischa
100 0fd75c45 2022-07-30 mischa //
101 0fd75c45 2022-07-30 mischa // Check for config.inc.php
102 0fd75c45 2022-07-30 mischa //
103 0fd75c45 2022-07-30 mischa if ($file_config == 1)
104 0fd75c45 2022-07-30 mischa {
105 0fd75c45 2022-07-30 mischa print "- Depends on: presence config.inc.php - OK<br />\n";
106 0fd75c45 2022-07-30 mischa }
107 0fd75c45 2022-07-30 mischa else
108 0fd75c45 2022-07-30 mischa {
109 0fd75c45 2022-07-30 mischa print "<li><b>Error: Depends on: presence config.inc.php - NOT FOUND</b><br />\n";
110 0fd75c45 2022-07-30 mischa print "Create the file.<br />";
111 0fd75c45 2022-07-30 mischa print "For example:<br />\n";
112 0fd75c45 2022-07-30 mischa print "<pre>% cp config.inc.php.sample config.inc.php</pre>\n";
113 0fd75c45 2022-07-30 mischa $error =+ 1;
114 0fd75c45 2022-07-30 mischa }
115 0fd75c45 2022-07-30 mischa print "<p />\n";
116 0fd75c45 2022-07-30 mischa
117 0fd75c45 2022-07-30 mischa //
118 0fd75c45 2022-07-30 mischa // Check if there is support for at least 1 database
119 0fd75c45 2022-07-30 mischa //
120 0fd75c45 2022-07-30 mischa if (($f_mysql_connect == 0) and ($f_mysqli_connect == 0) and ($f_pg_connect == 0))
121 0fd75c45 2022-07-30 mischa {
122 0fd75c45 2022-07-30 mischa print "<li><b>Error: There is no database support in your PHP setup</b><br />\n";
123 0fd75c45 2022-07-30 mischa print "To install MySQL 3.23 or 4.0 support on FreeBSD:<br />\n";
124 0fd75c45 2022-07-30 mischa print "<pre>% cd /usr/ports/databases/php$phpversion-mysql/\n";
125 0fd75c45 2022-07-30 mischa print "% make clean install\n";
126 0fd75c45 2022-07-30 mischa print " - or with portupgrade -\n";
127 0fd75c45 2022-07-30 mischa print "% portinstall php$phpversion-mysql</pre>\n";
128 0fd75c45 2022-07-30 mischa if ($phpversion >= 5)
129 0fd75c45 2022-07-30 mischa {
130 0fd75c45 2022-07-30 mischa print "To install MySQL 4.1 support on FreeBSD:<br />\n";
131 0fd75c45 2022-07-30 mischa print "<pre>% cd /usr/ports/databases/php5-mysqli/\n";
132 0fd75c45 2022-07-30 mischa print "% make clean install\n";
133 0fd75c45 2022-07-30 mischa print " - or with portupgrade -\n";
134 0fd75c45 2022-07-30 mischa print "% portinstall php5-mysqli</pre>\n";
135 0fd75c45 2022-07-30 mischa }
136 0fd75c45 2022-07-30 mischa print "To install PostgreSQL support on FreeBSD:<br />\n";
137 0fd75c45 2022-07-30 mischa print "<pre>% cd /usr/ports/databases/php$phpversion-pgsql/\n";
138 0fd75c45 2022-07-30 mischa print "% make clean install\n";
139 0fd75c45 2022-07-30 mischa print " - or with portupgrade -\n";
140 0fd75c45 2022-07-30 mischa print "% portinstall php$phpversion-pgsql</pre>\n";
141 0fd75c45 2022-07-30 mischa $error =+ 1;
142 0fd75c45 2022-07-30 mischa }
143 0fd75c45 2022-07-30 mischa //
144 0fd75c45 2022-07-30 mischa // MySQL 3.23, 4.0 functions
145 0fd75c45 2022-07-30 mischa //
146 0fd75c45 2022-07-30 mischa if ($f_mysql_connect == 1)
147 0fd75c45 2022-07-30 mischa {
148 0fd75c45 2022-07-30 mischa print "- Depends on: MySQL 3.23, 4.0 - OK<br />\n";
149 0fd75c45 2022-07-30 mischa }
150 0fd75c45 2022-07-30 mischa print "<p />\n";
151 0fd75c45 2022-07-30 mischa
152 0fd75c45 2022-07-30 mischa //
153 0fd75c45 2022-07-30 mischa // MySQL 4.1 functions
154 0fd75c45 2022-07-30 mischa //
155 0fd75c45 2022-07-30 mischa if ($phpversion >= 5)
156 0fd75c45 2022-07-30 mischa {
157 0fd75c45 2022-07-30 mischa if ($f_mysqli_connect == 1)
158 0fd75c45 2022-07-30 mischa {
159 0fd75c45 2022-07-30 mischa print "- Depends on: MySQL 4.1 - OK (change the database_type in config.inc.php!!)<br />\n";
160 0fd75c45 2022-07-30 mischa }
161 0fd75c45 2022-07-30 mischa }
162 0fd75c45 2022-07-30 mischa print "<p />\n";
163 0fd75c45 2022-07-30 mischa
164 0fd75c45 2022-07-30 mischa //
165 0fd75c45 2022-07-30 mischa // PostgreSQL functions
166 0fd75c45 2022-07-30 mischa //
167 0fd75c45 2022-07-30 mischa if ($f_pg_connect == 1)
168 0fd75c45 2022-07-30 mischa {
169 0fd75c45 2022-07-30 mischa print "- Depends on: PostgreSQL - OK (change the database_type in config.inc.php!!)<br />\n";
170 0fd75c45 2022-07-30 mischa }
171 0fd75c45 2022-07-30 mischa print "<p />\n";
172 0fd75c45 2022-07-30 mischa
173 0fd75c45 2022-07-30 mischa //
174 0fd75c45 2022-07-30 mischa // Session functions
175 0fd75c45 2022-07-30 mischa //
176 0fd75c45 2022-07-30 mischa if ($f_session_start == 1)
177 0fd75c45 2022-07-30 mischa {
178 0fd75c45 2022-07-30 mischa print "- Depends on: session - OK<br />\n";
179 0fd75c45 2022-07-30 mischa }
180 0fd75c45 2022-07-30 mischa else
181 0fd75c45 2022-07-30 mischa {
182 0fd75c45 2022-07-30 mischa print "<li><b>Error: Depends on: session - NOT FOUND</b><br />\n";
183 0fd75c45 2022-07-30 mischa print "To install session support on FreeBSD:<br />\n";
184 0fd75c45 2022-07-30 mischa print "<pre>% cd /usr/ports/www/php$phpversion-session/\n";
185 0fd75c45 2022-07-30 mischa print "% make clean install\n";
186 0fd75c45 2022-07-30 mischa print " - or with portupgrade -\n";
187 0fd75c45 2022-07-30 mischa print "% portinstall php$phpversion-session</pre>\n";
188 0fd75c45 2022-07-30 mischa $error =+ 1;
189 0fd75c45 2022-07-30 mischa }
190 0fd75c45 2022-07-30 mischa print "<p />\n";
191 0fd75c45 2022-07-30 mischa
192 0fd75c45 2022-07-30 mischa //
193 0fd75c45 2022-07-30 mischa // PCRE functions
194 0fd75c45 2022-07-30 mischa //
195 0fd75c45 2022-07-30 mischa if ($f_preg_match == 1)
196 0fd75c45 2022-07-30 mischa {
197 0fd75c45 2022-07-30 mischa print "- Depends on: pcre - OK<br />\n";
198 0fd75c45 2022-07-30 mischa }
199 0fd75c45 2022-07-30 mischa else
200 0fd75c45 2022-07-30 mischa {
201 0fd75c45 2022-07-30 mischa print "<li><b>Error: Depends on: pcre - NOT FOUND</b><br />\n";
202 0fd75c45 2022-07-30 mischa print "To install pcre support on FreeBSD:<br />\n";
203 0fd75c45 2022-07-30 mischa print "<pre>% cd /usr/ports/devel/php$phpversion-pcre/\n";
204 0fd75c45 2022-07-30 mischa print "% make clean install\n";
205 0fd75c45 2022-07-30 mischa print " - or with portupgrade -\n";
206 0fd75c45 2022-07-30 mischa print "% portinstall php$phpversion-pcre</pre>\n";
207 0fd75c45 2022-07-30 mischa $error =+ 1;
208 0fd75c45 2022-07-30 mischa }
209 0fd75c45 2022-07-30 mischa print "<p />\n";
210 0fd75c45 2022-07-30 mischa
211 0fd75c45 2022-07-30 mischa if ($error == 0)
212 0fd75c45 2022-07-30 mischa {
213 0fd75c45 2022-07-30 mischa print "Everything seems fine... you are ready to rock & roll!</br>\n";
214 0fd75c45 2022-07-30 mischa print "<b>Make sure you delete this setup.php file!</b><br />\n";
215 0fd75c45 2022-07-30 mischa print "Also check the config.inc.php file for any settings that you might need to change!<br />\n";
216 0fd75c45 2022-07-30 mischa print "Click here to go to the <a href=\"admin\">admin section</a> (make sure that your .htaccess is setup properly)\n";
217 0fd75c45 2022-07-30 mischa }
218 0fd75c45 2022-07-30 mischa ?>
219 0fd75c45 2022-07-30 mischa </body>
220 0fd75c45 2022-07-30 mischa </html>