<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Not5am</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Not5am"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Not5am"/>
	<updated>2026-05-11T17:57:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Talk:Production_LAMP_system:_Lighttpd_%2B_PHP_%2B_MySQL&amp;diff=23616</id>
		<title>Talk:Production LAMP system: Lighttpd + PHP + MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Talk:Production_LAMP_system:_Lighttpd_%2B_PHP_%2B_MySQL&amp;diff=23616"/>
		<updated>2023-05-30T08:50:33Z</updated>

		<summary type="html">&lt;p&gt;Not5am: /* duplicate index-file.names in Lighttpd + PHP-FPM section */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Help/advice requested by AlexHammer==&lt;br /&gt;
&lt;br /&gt;
I follow the tutorial and everything works BUT:&lt;br /&gt;
the last part to secure Adminer is not working.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;First:&#039;&#039;&#039;&lt;br /&gt;
The cat command does not write the &amp;quot;$HTTP&amp;quot; into the mod_adminer.conf file&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;cat &amp;gt; /etc/lighttpd/mod_adminer.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;
# NOTE: this requires mod_alias&lt;br /&gt;
alias.url += (&lt;br /&gt;
     &amp;quot;/adminer/&amp;quot;	    =&amp;gt;	    &amp;quot;/var/www/webapps/adminer/&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
$HTTP[&amp;quot;url&amp;quot;] =~ &amp;quot;^/adminer/&amp;quot; {&lt;br /&gt;
    # disable directory listings&lt;br /&gt;
    dir-listing.activate = &amp;quot;disable&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
EOF&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Second:&#039;&#039;&#039;&lt;br /&gt;
As soon as I do this last command I can&#039;t restart the lighttpd server anymore. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;checkssl=&amp;quot;&amp;quot;;checkssl=$(grep &#039;include &amp;quot;mod_adminer.conf&#039; /etc/lighttpd/lighttpd.conf);[[ &amp;quot;$checkssl&amp;quot; != &amp;quot;&amp;quot; ]] &amp;amp;&amp;amp; echo listo || sed -i -r &#039;s#.*include &amp;quot;mod_cgi.conf&amp;quot;.*#include &amp;quot;mod_cgi.conf&amp;quot;\ninclude &amp;quot;mod_adminer.conf&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any ideas what to do?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Template:Unsigned --&amp;gt;&amp;lt;span class=&amp;quot;autosigned&amp;quot; style=&amp;quot;font-size:85%;&amp;quot;&amp;gt;—&amp;amp;nbsp;Preceding unsigned comment added by [[User:AlexHammer|AlexHammer]] ([[User talk:AlexHammer#top|talk]] • [[Special:Contributions/AlexHammer|contribs]]) 11:59, 20 September 2021&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Hello, I would recommend using a proper text editor (such as nano or vi) to add the contents of the mod_adminer.conf file. In the example from the page using the cat commands, the text you need to insert is between the two EOFs.&lt;br /&gt;
:Also please sign your posts using &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;    Thanks!&lt;br /&gt;
:[[User:Zcrayfish|zcrayfish]] ([[User talk:Zcrayfish|talk]]) 21:02, 10 October 2021 (UTC)&lt;br /&gt;
&lt;br /&gt;
== duplicate index-file.names in Lighttpd + PHP-FPM section and lighttpd.conf ==&lt;br /&gt;
I guess we&#039;d want to keep it in /etc/lighttpd/mod_fastcgi_fpm.conf&lt;br /&gt;
This is how I fixed it, but it could be cleaner than &#039;&#039;&#039;sed -e &#039;/index-file.names/ s/^#*/#/&#039; -i /etc/lighttpd/lighttpd.conf&#039;&#039;&#039;&lt;br /&gt;
--[[User:Not5am|Not5am]] ([[User talk:Not5am|talk]]) 08:48, 30 May 2023 (UTC)&lt;/div&gt;</summary>
		<author><name>Not5am</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Talk:Production_LAMP_system:_Lighttpd_%2B_PHP_%2B_MySQL&amp;diff=23615</id>
		<title>Talk:Production LAMP system: Lighttpd + PHP + MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Talk:Production_LAMP_system:_Lighttpd_%2B_PHP_%2B_MySQL&amp;diff=23615"/>
		<updated>2023-05-30T08:48:12Z</updated>

		<summary type="html">&lt;p&gt;Not5am: /* duplicate index-file.names in Lighttpd + PHP-FPM section */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Help/advice requested by AlexHammer==&lt;br /&gt;
&lt;br /&gt;
I follow the tutorial and everything works BUT:&lt;br /&gt;
the last part to secure Adminer is not working.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;First:&#039;&#039;&#039;&lt;br /&gt;
The cat command does not write the &amp;quot;$HTTP&amp;quot; into the mod_adminer.conf file&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;cat &amp;gt; /etc/lighttpd/mod_adminer.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;
# NOTE: this requires mod_alias&lt;br /&gt;
alias.url += (&lt;br /&gt;
     &amp;quot;/adminer/&amp;quot;	    =&amp;gt;	    &amp;quot;/var/www/webapps/adminer/&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
$HTTP[&amp;quot;url&amp;quot;] =~ &amp;quot;^/adminer/&amp;quot; {&lt;br /&gt;
    # disable directory listings&lt;br /&gt;
    dir-listing.activate = &amp;quot;disable&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
EOF&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Second:&#039;&#039;&#039;&lt;br /&gt;
As soon as I do this last command I can&#039;t restart the lighttpd server anymore. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;checkssl=&amp;quot;&amp;quot;;checkssl=$(grep &#039;include &amp;quot;mod_adminer.conf&#039; /etc/lighttpd/lighttpd.conf);[[ &amp;quot;$checkssl&amp;quot; != &amp;quot;&amp;quot; ]] &amp;amp;&amp;amp; echo listo || sed -i -r &#039;s#.*include &amp;quot;mod_cgi.conf&amp;quot;.*#include &amp;quot;mod_cgi.conf&amp;quot;\ninclude &amp;quot;mod_adminer.conf&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any ideas what to do?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Template:Unsigned --&amp;gt;&amp;lt;span class=&amp;quot;autosigned&amp;quot; style=&amp;quot;font-size:85%;&amp;quot;&amp;gt;—&amp;amp;nbsp;Preceding unsigned comment added by [[User:AlexHammer|AlexHammer]] ([[User talk:AlexHammer#top|talk]] • [[Special:Contributions/AlexHammer|contribs]]) 11:59, 20 September 2021&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Hello, I would recommend using a proper text editor (such as nano or vi) to add the contents of the mod_adminer.conf file. In the example from the page using the cat commands, the text you need to insert is between the two EOFs.&lt;br /&gt;
:Also please sign your posts using &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;    Thanks!&lt;br /&gt;
:[[User:Zcrayfish|zcrayfish]] ([[User talk:Zcrayfish|talk]]) 21:02, 10 October 2021 (UTC)&lt;br /&gt;
&lt;br /&gt;
== duplicate index-file.names in Lighttpd + PHP-FPM section ==&lt;br /&gt;
&lt;br /&gt;
I think it can be cleaner than &#039;&#039;&#039;sed -e &#039;/index-file.names/ s/^#*/#/&#039; -i /etc/lighttpd/lighttpd.conf&#039;&#039;&#039; but this is how I fixed it.&lt;br /&gt;
--[[User:Not5am|Not5am]] ([[User talk:Not5am|talk]]) 08:48, 30 May 2023 (UTC)&lt;/div&gt;</summary>
		<author><name>Not5am</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Production_LAMP_system:_Lighttpd_%2B_PHP_%2B_MySQL&amp;diff=23612</id>
		<title>Production LAMP system: Lighttpd + PHP + MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Production_LAMP_system:_Lighttpd_%2B_PHP_%2B_MySQL&amp;diff=23612"/>
		<updated>2023-05-30T08:17:24Z</updated>

		<summary type="html">&lt;p&gt;Not5am: Remove duplicate index-file.names declaration. Now it&amp;#039;s in mod_fastcgi_fpm.conf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In production web, &#039;&#039;&#039;LAMP&#039;&#039;&#039; means &#039;&#039;&#039;L&#039;&#039;&#039;inux + &#039;&#039;&#039;A&#039;&#039;&#039;pache + &#039;&#039;&#039;M&#039;&#039;&#039;ysql + &#039;&#039;&#039;P&#039;&#039;&#039;hp installed and integrated, but today, more and more, &#039;&#039;Apache&#039;&#039; is being replaced by &#039;&#039;Nginx&#039;&#039; or &#039;&#039;Lighttpd&#039;&#039; and &#039;&#039;MySQL&#039;&#039; by &#039;&#039;Mariadb&#039;&#039;. The &#039;&#039;LAMP&#039;&#039; documents are:&lt;br /&gt;
&lt;br /&gt;
== 1. The web server: Lighttpd ==&lt;br /&gt;
&lt;br /&gt;
[http://www.lighttpd.net/ lighttpd] is a simple, standards-compliant, secure, and flexible web server, Nginx is the most used due to beeing manageable by ISP panel&#039;s software, but &#039;&#039;&#039;lighttpd performs better. Nginx cannot process fast-cgi programs&#039;&#039;&#039;. For more lighttpd information, consult the [[Production Web server: Lighttpd]] wiki page.&lt;br /&gt;
&lt;br /&gt;
=== Lighttpd Installation ===&lt;br /&gt;
&lt;br /&gt;
Production environment will handle only needed packages. So no doc or managers allowed:&lt;br /&gt;
&lt;br /&gt;
# run apk for needed packages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
apk add lighttpd gamin&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lighttpd pre php configuration ===&lt;br /&gt;
&lt;br /&gt;
# make the htdos public web root directories &lt;br /&gt;
# change default port to production one, http is used with 80&lt;br /&gt;
# use FAM style (gamin) file alteration monitor, increases performance &#039;&#039;&#039;ONLY ON 3.4 to 3.8 releases!!!&#039;&#039;&#039;&lt;br /&gt;
# use linux event handler, increases performance due Alpine are linux only&lt;br /&gt;
# added the service to the default runlevel, not to boot, because networking needs to be active first&lt;br /&gt;
# started the web server service&lt;br /&gt;
# Enable the mod_status at the config files&lt;br /&gt;
# change path in the config file, we are using security by obfuscation&lt;br /&gt;
# restart the service to see changes at the browser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mkdir -p /var/www/localhost/htdocs/stats /var/log/lighttpd /var/lib/lighttpd&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#\#.*server.port.*=.*#server.port          = 80#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#\#.*server.event-handler = &amp;quot;linux-sysepoll&amp;quot;.*#server.event-handler = &amp;quot;linux-sysepoll&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
chown -R lighttpd:lighttpd /var/www/localhost/&lt;br /&gt;
&lt;br /&gt;
chown -R lighttpd:lighttpd /var/lib/lighttpd&lt;br /&gt;
&lt;br /&gt;
chown -R lighttpd:lighttpd /var/log/lighttpd&lt;br /&gt;
&lt;br /&gt;
rc-update add lighttpd default&lt;br /&gt;
&lt;br /&gt;
rc-service lighttpd restart&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;it works&amp;quot; &amp;gt; /var/www/localhost/htdocs/index.html&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#\#.*mod_status.*,.*#    &amp;quot;mod_status&amp;quot;,#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#.*status.status-url.*=.*#status.status-url  = &amp;quot;/stats/server-status&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#.*status.config-url.*=.*#status.config-url  = &amp;quot;/stats/server-config&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
rc-service lighttpd restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For testing, open a browser and go to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://&amp;lt;webserveripaddres&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. You will see &amp;quot;it works&amp;quot;&#039;&#039;&#039;. The &amp;quot;webserveripaddres&amp;quot; is the ip address of your setup/server machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There&#039;s a problem in Alpine linux, FAM (gamin) is activated as a lighttpd only service&#039;&#039;&#039;, that makes sense in docker, but on a server, it could be a problem if FAM (gamin) is also needed for other services at the same time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONAL:&#039;&#039;&#039; alpine packagers are a mess, removed FAM on recent, so older releases of alpine can use compiled FAM packages with &amp;lt;code&amp;gt;sed -i -r &#039;s#.*server.stat-cache-engine.*=.*# server.stat-cache-engine = &amp;quot;fam&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. php scripting: PHP fpm ==&lt;br /&gt;
&lt;br /&gt;
In Alpine there are two main languages for programming dynamic web pages: PHP and LUA. Alpine is minimalist so not all PHP packages are need in most cases.&lt;br /&gt;
Both repositories must be enabled (main and community). Here we explain the most common use in production.&lt;br /&gt;
&lt;br /&gt;
=== PHP Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
apk add php7 php7-bcmath php7-bz2 php7-ctype php7-curl php7-dom php7-enchant php7-exif php7-fpm php7-gd php7-gettext php7-gmp php7-iconv php7-imap php7-intl php7-json php7-mbstring php7-opcache php7-openssl php7-phar php7-posix php7-pspell php7-recode php7-session php7-simplexml php7-sockets php7-sysvmsg php7-sysvsem php7-sysvshm php7-tidy php7-xml php7-xmlreader php7-xmlrpc php7-xmlwriter php7-xsl php7-zip php7-sqlite3&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|&#039;&#039;&#039;The packages below are only for specific situations. Install them only when needed (especially php-pear)&#039;&#039;&#039;, for example, &amp;lt;code&amp;gt;cacti&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cacti-php7&amp;lt;/code&amp;gt; depend on &amp;lt;code&amp;gt;php7&amp;lt;/code&amp;gt;, but you must install &#039;&#039;&#039;only&#039;&#039;&#039; the cacti package, all the dependencies must be previously installed from stable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
apk add php7-pgsql php7-mysqli php7-mysqlnd php7-snmp php7-soap php7-ldap php7-pcntl php7-pear php7-shmop php7-wddx php7-cgi php7-pdo php7-snmp php7-tokenizer &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|&#039;&#039;&#039;The packages below are only for database access using php in specific ways. Install them only if you need them (specially php--pdo ones)&#039;&#039;&#039;. For example, &amp;lt;code&amp;gt;cacti&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cacti-php7&amp;lt;/code&amp;gt; depend on &amp;lt;code&amp;gt;php7-mysqli&amp;lt;/code&amp;gt;, but you must install only the cacti package, all the dependencies like &amp;lt;code&amp;gt;php7&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;php7-mysqli&amp;lt;/code&amp;gt; must be previously installed from stable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
apk add php7-dba php7-sqlite3 php7-mysqli php7-mysqlnd php7-pgsql php7-pdo_dblib php7-pdo_odbc php7-pdo_pgsql php7-pdo_sqlite &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A special case is &amp;lt;code&amp;gt;php7-odbc&amp;lt;/code&amp;gt;. Unless the others, that are able php to connect to only specific database, &#039;&#039;&#039;[[Production DataBases : unixodbc|unixodbc]]&#039;&#039;&#039; is a universal way to do so. The most important difference is, for example, the &amp;lt;code&amp;gt;php7-mysqli&amp;lt;/code&amp;gt; package has better functions to manage data via php.&lt;br /&gt;
&lt;br /&gt;
=== PHP Global Configuration ===&lt;br /&gt;
&lt;br /&gt;
# Use fix.pathinfo&lt;br /&gt;
# Set safe mode off&lt;br /&gt;
# Dont expose php code if something fails&lt;br /&gt;
# Set amount of memory limit for execution to 536Mb (most servers are minimum of 1 GB of RAM)&lt;br /&gt;
# Set upload size to 128Mb as maximun.&lt;br /&gt;
# Set POST max size to 256Mb based on the upload max size limit.&lt;br /&gt;
# Turn on the URL open method&lt;br /&gt;
# Set default charset to UTF-8 for increased compatibility&lt;br /&gt;
# Increase the execution time and the input time for.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sed -i -r &#039;s|.*cgi.fix_pathinfo=.*|cgi.fix_pathinfo=1|g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#.*safe_mode =.*#safe_mode = Off#g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#.*expose_php =.*#expose_php = Off#g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#memory_limit =.*#memory_limit = 536M#g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#upload_max_filesize =.*#upload_max_filesize = 128M#g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#post_max_size =.*#post_max_size = 256M#g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#^file_uploads =.*#file_uploads = On#g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#^max_file_uploads =.*#max_file_uploads = 12#g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#^allow_url_fopen = .*#allow_url_fopen = On#g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#^.default_charset =.*#default_charset = &amp;quot;UTF-8&amp;quot;#g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#^.max_execution_time =.*#max_execution_time = 150#g&#039; /etc/php*/php.ini&lt;br /&gt;
sed -i -r &#039;s#^max_input_time =.*#max_input_time = 90#g&#039; /etc/php*/php.ini&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PHP-FPM Configuration ===&lt;br /&gt;
&lt;br /&gt;
# Create directory for php socket and pid files, MUST BE EQUAL to openrc defined!&lt;br /&gt;
# Set into configuration file the socket path, MUST BE EQUAL to openrc defined!&lt;br /&gt;
# Set into configuration file the pid file path, MUST BE EQUAL to openrc defined!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mkdir -p /var/run/php-fpm7/&lt;br /&gt;
&lt;br /&gt;
chown lighttpd:root /var/run/php-fpm7&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^.*listen =.*|listen = /run/php-fpm7/php7-fpm.sock|g&#039; /etc/php*/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^pid =.*|pid = /run/php-fpm7/php7-fpm.pid|g&#039; /etc/php*/php-fpm.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^.*listen.mode =.*|listen.mode = 0640|g&#039; /etc/php*/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
rc-update add php-fpm7 default&lt;br /&gt;
&lt;br /&gt;
service php-fpm7 restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The PHP-FPM defines a master process with a process pool for each service request. By default, there&#039;s only one process pool, www.&lt;br /&gt;
&lt;br /&gt;
Default values are good for starting, but will need tuning later. The best is a static one, but testing is needed to get the right configuration.&lt;br /&gt;
&lt;br /&gt;
=== Lighttpd + PHP-FPM ===&lt;br /&gt;
&lt;br /&gt;
The web server comes with a minimal config file, so we must handle all the required settings:&lt;br /&gt;
&lt;br /&gt;
# enable the mod_alias at the config file, a specific path is needed for cgi file security&lt;br /&gt;
# be sure and disable the fastcgi-php module by cgi only&lt;br /&gt;
# and then enable the fastcgi-php-fpm specific module then&lt;br /&gt;
# write a much much better approach of the php handler in the local server using the socket&lt;br /&gt;
# configure the php to use also the socket for direct connection locally&lt;br /&gt;
# restart the service to see changes at the browser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mkdir -p /var/www/localhost/cgi-bin&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#\#.*mod_alias.*,.*#    &amp;quot;mod_alias&amp;quot;,#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#.*include &amp;quot;mod_cgi.conf&amp;quot;.*#   include &amp;quot;mod_cgi.conf&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#.*include &amp;quot;mod_fastcgi.conf&amp;quot;.*#\#   include &amp;quot;mod_fastcgi.conf&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#.*include &amp;quot;mod_fastcgi_fpm.conf&amp;quot;.*#   include &amp;quot;mod_fastcgi_fpm.conf&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -e &#039;/index-file.names/ s/^#*/#/&#039; -i /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /etc/lighttpd/mod_fastcgi_fpm.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;
server.modules += ( &amp;quot;mod_fastcgi&amp;quot; )&lt;br /&gt;
index-file.names += ( &amp;quot;index.php&amp;quot; )&lt;br /&gt;
fastcgi.server = (&lt;br /&gt;
    &amp;quot;.php&amp;quot; =&amp;gt; (&lt;br /&gt;
      &amp;quot;localhost&amp;quot; =&amp;gt; (&lt;br /&gt;
        &amp;quot;socket&amp;quot;                =&amp;gt; &amp;quot;/var/run/php-fpm7/php7-fpm.sock&amp;quot;,&lt;br /&gt;
        &amp;quot;broken-scriptfilename&amp;quot; =&amp;gt; &amp;quot;enable&amp;quot;&lt;br /&gt;
      ))&lt;br /&gt;
)&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^.*listen =.*|listen = /var/run/php-fpm7/php7-fpm.sock|g&#039; /etc/php*/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^.*listen.owner = .*|listen.owner = lighttpd|g&#039; /etc/php*/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^.*listen.group = .*|listen.group = lighttpd|g&#039; /etc/php*/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^.*listen.mode = .*|listen.mode = 0660|g&#039; /etc/php*/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
rc-service php-fpm7 restart&lt;br /&gt;
&lt;br /&gt;
rc-service lighttpd restart&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;?php echo phpinfo(); ?&amp;gt;&amp;quot; &amp;gt; /var/www/localhost/htdocs/info.php&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For testing, open a browser and go to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://&amp;lt;webserveripaddres&amp;gt;/info.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. You will see the info as used in production. &lt;br /&gt;
There&#039;s no sense givig too much information to crackers. The &amp;quot;webserveripaddres&amp;quot; is the ip address of your setup/server machine.&lt;br /&gt;
&lt;br /&gt;
After that, all the files with php will be procesed faster than used a host based. Under the &amp;lt;code&amp;gt;/var/www/localhost/cgi-bin&amp;lt;/code&amp;gt; directory will be shown as &amp;lt;nowiki&amp;gt;http://localhost/cgi-bin/&amp;lt;/nowiki&amp;gt; path.&lt;br /&gt;
&lt;br /&gt;
=== Multiple PHP-FPM cluster ===&lt;br /&gt;
&lt;br /&gt;
As we said, FPM is managed by process pools, but the connection can be over a network or over a direct n socket. The configuration for a typical server that can handle an average number requests is with socket and localhost. For high availability, a CAT6 wired network connection of 1000Mbps and php-fpm by network connection in roundrobin mode is needed.&lt;br /&gt;
&lt;br /&gt;
The PHP FPM pool will be on a specific machine and the web server(s) will simply connect to these machines with PHP to serve the PHP pages. The result is a cluster of lighttpd web servers against other PHP-FPM process clusters. The PHP code can be the same on all web servers and can connect to a single database.&lt;br /&gt;
&lt;br /&gt;
At the Linux console the changes are, for example, two machines 10.10.1.10 and 10.10.2.10 both have php and lighttpd, so each will set up the php of the other:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mkdir -p /var/www/localhost/cgi-bin&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#\#.*mod_alias.*,.*#    &amp;quot;mod_alias&amp;quot;,#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#.*include &amp;quot;mod_cgi.conf&amp;quot;.*#   include &amp;quot;mod_cgi.conf&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#.*include &amp;quot;mod_fastcgi.conf&amp;quot;.*#\#   include &amp;quot;mod_fastcgi.conf&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#.*include &amp;quot;mod_fastcgi_fpm.conf&amp;quot;.*#   include &amp;quot;mod_fastcgi_fpm.conf&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /etc/lighttpd/mod_fastcgi_fpm.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;
server.modules += ( &amp;quot;mod_fastcgi&amp;quot; )&lt;br /&gt;
index-file.names += ( &amp;quot;index.php&amp;quot; )&lt;br /&gt;
fastcgi.server = ( &amp;quot;.php&amp;quot; =&amp;gt; &lt;br /&gt;
  (&lt;br /&gt;
    ( &amp;quot;host&amp;quot; =&amp;gt; &amp;quot;10.10.1.10&amp;quot;,&lt;br /&gt;
      &amp;quot;port&amp;quot; =&amp;gt; 9000&lt;br /&gt;
    ),&lt;br /&gt;
    ( &amp;quot;host&amp;quot; =&amp;gt; &amp;quot;10.10.2.10&amp;quot;,&lt;br /&gt;
      &amp;quot;port&amp;quot; =&amp;gt; 9000 )&lt;br /&gt;
    )&lt;br /&gt;
  )&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^.*listen =.*|listen = 9000|g&#039; /etc/php*/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^.*listen.owner = .*|listen.owner = lighttpd|g&#039; /etc/php*/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^.*listen.group = .*|listen.group = lighttpd|g&#039; /etc/php*/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s|^.*listen.mode = .*|listen.mode = 0660|g&#039; /etc/php*/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
rc-service php-fpm7 restart&lt;br /&gt;
&lt;br /&gt;
rc-service lighttpd restart&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;?php echo phpinfo(); ?&amp;gt;&amp;quot; &amp;gt; /var/www/localhost/htdocs/info.php&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. The DBMS part: mysql/mariadb ==&lt;br /&gt;
&lt;br /&gt;
Alpine Linux has dummy counterpart packages for those not changed from &#039;&#039;mysql&#039;&#039; to &#039;&#039;mariadb&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Take into consideration the user &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; was created during package instalation. In the initialization section two users will be created in database init: &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt;, and at that point only if they are in their respective system accounts, will they be able to connect to the database service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
apk add mysql mysql-client&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Initialization ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;datadir&#039;&#039; located at &amp;lt;code&amp;gt;/var/lib/mysql&amp;lt;/code&amp;gt; must be owned by the mysql user and group. You can modify this behavior but you must edit the service file at &amp;lt;code&amp;gt;/etc/init.d&amp;lt;/code&amp;gt; directory. Also, you need to set &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;datadir=&amp;lt;YOUR_DATADIR&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; under section &amp;lt;code&amp;gt;[mysqld]&amp;lt;/code&amp;gt; at the config file.&lt;br /&gt;
&lt;br /&gt;
# Initialize the main mysql database, and the data dir as standardized to &amp;lt;code&amp;gt;/var/lib/mysql&amp;lt;/code&amp;gt; by the rc script&lt;br /&gt;
# Then initialize the service, root account and socket connection are enabled without password at this point&lt;br /&gt;
# Set up the root account by asigning a proper password. This is pure paranoia. the next step does just that!&lt;br /&gt;
# Set up and init the installation by running the &amp;lt;code&amp;gt;mysql_secure_installation&amp;lt;/code&amp;gt;&lt;br /&gt;
# Set up permissions for managing other users and databases&lt;br /&gt;
# Run the &amp;lt;code&amp;gt;mysql_secure_installation&amp;lt;/code&amp;gt; script and answer the questions (see section below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql_install_db --user=mysql --datadir=/var/lib/mysql&lt;br /&gt;
&lt;br /&gt;
rc-service mariadb start&lt;br /&gt;
&lt;br /&gt;
mysqladmin -u root password toor&lt;br /&gt;
&lt;br /&gt;
mysql_secure_installation&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Enter current password for root (enter for none):&#039;&#039;&#039; must be provided because we set it previously. Correct response is &amp;lt;code&amp;gt;OK, successfully used password, moving on...&amp;lt;/code&amp;gt;&lt;br /&gt;
#  &#039;&#039;&#039;Switch to unix_socket authentication [Y/n]&#039;&#039;&#039; this must be disabled, &#039;&#039;&#039;so answer NO&#039;&#039;&#039;, and response will be &amp;lt;code&amp;gt;... skipping.&amp;lt;/code&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Change the root password? [Y/n]&#039;&#039;&#039; Just press &amp;quot;n&amp;quot; only if you provided a good password, otherwise change it!&lt;br /&gt;
# &#039;&#039;&#039;Remove anonymous users? [Y/n]&#039;&#039;&#039; In any case, &#039;&#039;&#039;production system must remove it, so answer Y&#039;&#039;&#039; and proper respond mus be  &amp;lt;code&amp;gt;... Success!&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &#039;&#039;&#039;Disallow root login remotely? [Y/n]&#039;&#039;&#039; For sure answer Y&#039;&#039;&#039; and proper respond mus be  &amp;lt;code&amp;gt;... Success!&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &#039;&#039;&#039;Remove test database and access to it? [Y/n]&#039;&#039;&#039; Should be removed, so answer Y&#039;&#039;&#039; and proper respond mus be  &amp;lt;code&amp;gt;... Success!&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &#039;&#039;&#039;Reload privilege tables now? [Y/n]&#039;&#039;&#039; Aanswer Y&#039;&#039;&#039; and proper respond mus be  &amp;lt;code&amp;gt;... Success!&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
After reponse all the questions.. restart the service with &amp;lt;code&amp;gt;rc-service mariadb restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
Newer Alpine system packages can set in independent files. In any case, those commands always work and where not applicable, they&#039;ll ignore the output. For more info about that, see the [[MariaDB#Configuration_files_and_customization|MariaDB Configuration files]] section of the MariaDB wiki page.&lt;br /&gt;
&lt;br /&gt;
* On older Alpine system you must set config files for MAX ALLOWED PACKETS to minimun proper amount:&lt;br /&gt;
* Only allow local connections in cases where there&#039;s only one server or no expected connections from others:&lt;br /&gt;
* Set default charset to UTF8MB4&lt;br /&gt;
* Add the start service process, but don&#039;t set it as a boot process because networking needs to already be running.&lt;br /&gt;
* Restart the service to apply changes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sed -i &amp;quot;s|.*max_allowed_packet\s*=.*|max_allowed_packet = 100M|g&amp;quot; /etc/mysql/my.cnf&lt;br /&gt;
sed -i &amp;quot;s|.*max_allowed_packet\s*=.*|max_allowed_packet = 100M|g&amp;quot; /etc/my.cnf.d/mariadb-server.cnf&lt;br /&gt;
&lt;br /&gt;
sed -i &amp;quot;s|.*bind-address\s*=.*|bind-address=127.0.0.1|g&amp;quot; /etc/mysql/my.cnf&lt;br /&gt;
sed -i &amp;quot;s|.*bind-address\s*=.*|bind-address=127.0.0.1|g&amp;quot; /etc/my.cnf.d/mariadb-server.cnf&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /etc/my.cnf.d/mariadb-server-default-charset.cnf &amp;lt;&amp;lt; EOF&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&lt;br /&gt;
[mysqld]&lt;br /&gt;
collation_server = utf8mb4_unicode_ci&lt;br /&gt;
character_set_server = utf8mb4&lt;br /&gt;
&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
rc-service mariadb restart&lt;br /&gt;
&lt;br /&gt;
rc-update add mariadb default&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upgrading:&#039;&#039;&#039; If you are unable to run any mysql commands after an upgrade, it&#039;s because MySQL cannot start. Try to run MySQL in safe mode with the &amp;lt;code&amp;gt;mysqld_safe --datadir=/var/lib/mysql/&amp;lt;/code&amp;gt; command, then run the &amp;lt;code&amp;gt;mysql_upgrade -u root -p&amp;lt;/code&amp;gt; script. For more information see the [[MariaDB#Updating_or_comming_from_upgrading|MariaDB upgrading section]] of the MariaDB wiki page.&lt;br /&gt;
&lt;br /&gt;
=== adminer: Web Frontend administration ===&lt;br /&gt;
&lt;br /&gt;
[https://www.adminer.org/ Adminer] is a simple standalone tool, tons of times faster than PhpMysqladmin that is great but has too many security issues and lots of complex settings. We need a single, simpler solution. One that&#039;s easy to manage and upgrade.&lt;br /&gt;
&lt;br /&gt;
Take into consideration this needs as a prerequisite, the previous sections of the web server, php scripting and mysql/mariadb engine configured and running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mkdir -p /var/www/webapps/adminer&lt;br /&gt;
&lt;br /&gt;
wget https://github.com/vrana/adminer/releases/download/v4.7.6/adminer-4.7.6.php -O /var/www/webapps/adminer/adminer-4.7.6.php&lt;br /&gt;
&lt;br /&gt;
ln -s adminer-4.7.6.php /var/www/webapps/adminer/index.php&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /etc/lighttpd/mod_adminer.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;
# NOTE: this requires mod_alias&lt;br /&gt;
alias.url += (&lt;br /&gt;
     &amp;quot;/adminer/&amp;quot;	    =&amp;gt;	    &amp;quot;/var/www/webapps/adminer/&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
$HTTP[&amp;quot;url&amp;quot;] =~ &amp;quot;^/adminer/&amp;quot; {&lt;br /&gt;
    # disable directory listings&lt;br /&gt;
    dir-listing.activate = &amp;quot;disable&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#\#.*mod_alias.*,.*#    &amp;quot;mod_alias&amp;quot;,#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
sed -i -r &#039;s#.*include &amp;quot;mod_cgi.conf&amp;quot;.*#   include &amp;quot;mod_cgi.conf&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
checkssl=&amp;quot;&amp;quot;;checkssl=$(grep &#039;include &amp;quot;mod_adminer.conf&#039; /etc/lighttpd/lighttpd.conf);[[ &amp;quot;$checkssl&amp;quot; != &amp;quot;&amp;quot; ]] &amp;amp;&amp;amp; echo listo || sed -i -r &#039;s#.*include &amp;quot;mod_cgi.conf&amp;quot;.*#include &amp;quot;mod_cgi.conf&amp;quot;\ninclude &amp;quot;mod_adminer.conf&amp;quot;#g&#039; /etc/lighttpd/lighttpd.conf&lt;br /&gt;
&lt;br /&gt;
rc-service lighttpd restart&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The administrator must use the exact URL &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://&amp;lt;ipaddress&amp;gt;/adminer/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; There are two reasons: there&#039;s no directory listing and there&#039;s no direct PHP index reference on the web server, all because of paranoid settings.&lt;br /&gt;
&lt;br /&gt;
[[Category:Newbie]]&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Web_Server]]&lt;br /&gt;
[[Category:Monitoring]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Security]]&lt;br /&gt;
[[Category:Production]]&lt;/div&gt;</summary>
		<author><name>Not5am</name></author>
	</entry>
</feed>