<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>linux &#8211; VeriTeknik</title>
	<atom:link href="https://www.veriteknik.net.tr/en/tag/linux-2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.veriteknik.net.tr/en/</link>
	<description>VeriTeknik Bilişim &#124; VeriTeknik Bilişim</description>
	<lastBuildDate>Sun, 09 May 2021 11:41:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>How to Install AlmaLinux 8</title>
		<link>https://www.veriteknik.net.tr/en/how-to-install-almalinux-8/</link>
					<comments>https://www.veriteknik.net.tr/en/how-to-install-almalinux-8/#respond</comments>
		
		<dc:creator><![CDATA[Berk Atalay]]></dc:creator>
		<pubDate>Sat, 01 May 2021 13:32:52 +0000</pubDate>
				<category><![CDATA[LINUX]]></category>
		<category><![CDATA[Alma]]></category>
		<category><![CDATA[AlmaLinux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux tutorial]]></category>
		<guid isPermaLink="false">https://www.veriteknik.net.tr/?p=7780</guid>

					<description><![CDATA[<p>First of all, the stable version of AlmaLinux should be downloaded before starting the process. It can be found in the &#8220;Download ISOs&#8221; section of AlmaLinux&#8217;s official site . Minimal.iso = It contains minimum package that requires to a functional Linux system. Doesn’t contain GUI. Dvd.iso= It contains minimal packages plus some utility packages, basic [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/how-to-install-almalinux-8/">How to Install AlmaLinux 8</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="font-size:18px"><strong>First of all, the stable version of AlmaLinux should be downloaded before starting the process. It can be found in the &#8220;Download ISOs&#8221; section of AlmaLinux&#8217;s official site </strong>.</p>



<p></p>



<ul class="wp-block-list" style="font-size:18px"><li><strong>Minimal.iso</strong> = It contains minimum package that requires to a functional Linux system. Doesn’t contain GUI.</li></ul>



<ul class="wp-block-list" style="font-size:18px"><li><strong>Dvd.iso</strong>= It contains minimal packages plus some utility packages, basic development packages and contains GUI. It’s size is 3.7 GB that can fit in DVD.</li></ul>



<p></p>



<figure class="wp-block-image size-large is-style-default"><img fetchpriority="high" decoding="async" width="927" height="288" src="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/index-1.jpg" alt="" class="wp-image-7784" srcset="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/index-1.jpg 927w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/index-1-300x93.jpg 300w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/index-1-768x239.jpg 768w" sizes="(max-width: 927px) 100vw, 927px" /></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">Boot the system with the boot device and continue installation with selecting <strong>Install AlmaLinux 8</strong>.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="640" height="480" src="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/install.png" alt="" class="wp-image-7787" srcset="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/install.png 640w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/install-300x225.png 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">Continue the installation with selecting the system language.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="800" height="600" src="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/language.png" alt="" class="wp-image-7789" srcset="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/language.png 800w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/language-300x225.png 300w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/language-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">After choosing the system language, the setup page like the one below will appear.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="600" src="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/installation-page.png" alt="" class="wp-image-7794" srcset="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/installation-page.png 800w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/installation-page-300x225.png 300w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/installation-page-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:19px">The first thing to do is to set up the network. AlmaLinux needs an active internet connection to download base packages and other necessary files.</p>



<p style="font-size:18px">If connection can not be established with automatic <strong>dhcp</strong> settings, <strong>dhcp</strong> settings should be switched to <strong>manuel</strong> mode and <strong>ipv4</strong> settings should be arranged according to the user&#8217;s information.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="600" src="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/network.png" alt="" class="wp-image-7796" srcset="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/network.png 800w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/network-300x225.png 300w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/network-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">Next step is setting the <strong>root password</strong>, <strong>keyboard layout</strong> , <strong>time-date</strong> and <strong>disk partitioning</strong>. After the root password is set, set up time, date and keyboard layout. Inside the disk partitioning settings , select the disk that is going to be used and then click the <strong>Done</strong> button.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="600" src="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/disk.png" alt="" class="wp-image-7800" srcset="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/disk.png 800w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/disk-300x225.png 300w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/disk-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">Next, before clicking the <strong>Begin Installation</strong> button, it should be chosen which packages are going to be installed in the <strong>Software Selection</strong> section.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="600" src="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/alma-packages.png" alt="" class="wp-image-7802" srcset="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/alma-packages.png 800w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/alma-packages-300x225.png 300w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/alma-packages-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">If everything has been set correctly, there should be no warnings under the sections. After the steps are completed, you can start your installation by clicking the <strong>Begin Installation</strong> button. A proper setup page is as follows.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="600" src="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/clear-isntal.png" alt="" class="wp-image-7804" srcset="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/clear-isntal.png 800w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/clear-isntal-300x225.png 300w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/clear-isntal-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">After the installation is complete, it is important to download the basic <strong>network</strong> packages as well. These packages can be installed with a single command. Other essential packages can be added to this command.</p>



<p></p>



<p></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># yum install vim bind-utils net-tools wget rsync netctl openssh-server dnsutils atop</pre>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">If problems are encountered while installing <strong>atop</strong>, it should be downloaded with the <strong>wget</strong> command.</p>



<p></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># wget http://www.atoptool.nl/download/atop-2.1-1.i586.rpm</pre>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">After the download process is completed, it can be seen which group packages of <strong>AlmaLinux </strong>are installed on the system with the following command and the missing ones should be downloaded in line with the user needs.</p>



<p></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># yum group list</pre>



<p></p>



<p></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="600" src="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/ALMA-GROUP-1.png" alt="" class="wp-image-7926" srcset="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/ALMA-GROUP-1.png 800w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/ALMA-GROUP-1-300x225.png 300w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/ALMA-GROUP-1-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">There is no <strong>GUI</strong> in the system due to minimal installation, if a <strong>GUI</strong> is needed: Download should be done with the <strong>Workstation</strong> option. This option will provide the user with the <strong>Gnome Desktop Environment</strong>, as well as most packages that should be on a <strong>Workstation.</strong></p>



<p></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># yum  group install workstation</pre>



<p></p>



<p></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="600" src="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/alma-workstation-1.png" alt="" class="wp-image-7928" srcset="https://www.veriteknik.net.tr/wp-content/uploads/2021/05/alma-workstation-1.png 800w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/alma-workstation-1-300x225.png 300w, https://www.veriteknik.net.tr/wp-content/uploads/2021/05/alma-workstation-1-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p style="font-size:18px">After the download is completed, the <strong>desktop</strong> can be activated with the following command.</p>



<p></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># startx &amp;</pre>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/how-to-install-almalinux-8/">How to Install AlmaLinux 8</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.veriteknik.net.tr/en/how-to-install-almalinux-8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7780</post-id>	</item>
		<item>
		<title>Install mod_python on Centos 6</title>
		<link>https://www.veriteknik.net.tr/en/install-mod_python-on-centos-6/</link>
					<comments>https://www.veriteknik.net.tr/en/install-mod_python-on-centos-6/#respond</comments>
		
		<dc:creator><![CDATA[Mustafa Emre Aydın]]></dc:creator>
		<pubDate>Fri, 24 Aug 2012 08:15:58 +0000</pubDate>
				<category><![CDATA[httpd]]></category>
		<category><![CDATA[LINUX]]></category>
		<category><![CDATA[Programmin]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mod_python]]></category>
		<guid isPermaLink="false">http://www.plugged.in/?p=631</guid>

					<description><![CDATA[<p>mod_python is one of the easiest ways to use your Python Scripts as web pages. To install mod_python on your Centos 6 server, simply follow the steps below. We also recommend using our LAMP installer, this method can easily be implemented with our installer. To install mod_python, we need the EPEL repositories: rpm --import https://fedoraproject.org/static/0608B895.txt [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/install-mod_python-on-centos-6/">Install mod_python on Centos 6</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>mod_python is one of the easiest ways to use your Python Scripts as web pages. To install mod_python on your Centos 6 server, simply follow the steps below. We also recommend using our <a title="Download Plugged.in LAMP installer for CentOS 6.x" href="http://www.plugged.in/linux/plugged-install-lamp-for-centosredhat-6-x-download.html">LAMP installer</a>, this method can easily be implemented with our installer.</p>
<p>To install mod_python, we need the EPEL repositories:</p>
<pre class="brush: bash; gutter: true; first-line: 1">rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ivh epel-release-6-7.noarch.rpm
yum install yum-priorities</pre>
<p>Now edit the <strong>/etc/yum.repos.d/eped.rep</strong>o file and add <strong>priority=10</strong> to the <strong>[epel]</strong> section.</p>
<p>After that follow the steps below and you&#8217;ll have mod_python installed and active.</p>
<pre class="brush: bash; gutter: true; first-line: 1">yum install mod_python
service httpd restart</pre>
<p>Now you should configure your httpd.conf files so that apache nows where and when to interpret your Python scripts. If you have installed you system with our LAMP installer, then go to <strong>/etc/httpd/conf.d</strong> and edit you websites <strong>.conf</strong> file (starting with a<strong> z_</strong>)</p>
<pre class="brush: bash; gutter: true; first-line: 1">vi /etc/httpd/conf.d/z_castmator.com</pre>
<p>Make sure you add the following lines in the<strong> &lt;Directory &#8230;&gt; &lt;/Directory&gt;</strong> statements.</p>
<pre class="brush: text; gutter: true; first-line: 1">AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On</pre>
<p>Don&#8217;t forget that PythonDebug is for debug mode. When you&#8217;re done developing it may be a good idea to turn it off.</p>
<p>Also don&#8217;t forget to add your DirectoryIndex handlers so that Apache knows you can also have Python Index files. You can add this right after the <strong>&lt;/Directory&gt;</strong> statement.</p>
<pre class="brush: text; gutter: true; first-line: 1">DirectoryIndex index.html index.php index.py</pre>
<p>Since we&#8217;ve altered with the configuration files of Apache, we should restart it again, then you are ready to go.</p>
<pre class="brush: bash; gutter: true; first-line: 1">service httpd restart</pre>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/install-mod_python-on-centos-6/">Install mod_python on Centos 6</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.veriteknik.net.tr/en/install-mod_python-on-centos-6/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">631</post-id>	</item>
		<item>
		<title>Installing IonCube Loader on Linux</title>
		<link>https://www.veriteknik.net.tr/en/installing-ioncube-loader-on-linux/</link>
					<comments>https://www.veriteknik.net.tr/en/installing-ioncube-loader-on-linux/#respond</comments>
		
		<dc:creator><![CDATA[Mustafa Emre Aydın]]></dc:creator>
		<pubDate>Wed, 25 Jul 2012 09:29:56 +0000</pubDate>
				<category><![CDATA[httpd]]></category>
		<category><![CDATA[LINUX]]></category>
		<category><![CDATA[ioncube]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">http://www.plugged.in/?p=618</guid>

					<description><![CDATA[<p>Installation of IonCube Loader on any variaty of Linux is very simple. Just get the copy from ioncube webpage itself, http://www.ioncube.com/loaders.php We will download the 64-bit version for our example. Then extract the file, copy the shared object file that matches your PHP version to an appropriate folder. To learn your PHP version you can [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/installing-ioncube-loader-on-linux/">Installing IonCube Loader on Linux</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Installation of IonCube Loader on any variaty of Linux is very simple.</p>
<p>Just get the copy from ioncube webpage itself, http://www.ioncube.com/loaders.php<br />
We will download the 64-bit version for our example.</p>
<p>Then extract the file, copy the shared object file that matches your PHP version to an appropriate folder.<br />
To learn your PHP version you can simple grep the php -i output.</p>
<p>After copying the shared object, add a few lines to your php.ini and that&#8217;s it.</p>
<pre class="brush: bash; gutter: true; first-line: 1">wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
 tar -xvzf ioncube_loaders_lin_x86-64.tar.gz
# learn php version
 php -v
# let's say it's 5.2
 mkdir /usr/local/ioncube
 cp ioncube/ioncube_loader_lin_5.2.so /usr/local/ioncube
# locate your php.ini file
 php -i|grep php.ini</pre>
<p>Add the lines below at the end of your php.ini file.<br />
[ code lang=&#8221;bash&#8221; ]<br />
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so<br />
[ /code ]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/installing-ioncube-loader-on-linux/">Installing IonCube Loader on Linux</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.veriteknik.net.tr/en/installing-ioncube-loader-on-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">618</post-id>	</item>
		<item>
		<title>Download Plugged.in LAMP installer for CentOS 6.x</title>
		<link>https://www.veriteknik.net.tr/en/plugged-install-lamp-for-centosredhat-6-x-download/</link>
					<comments>https://www.veriteknik.net.tr/en/plugged-install-lamp-for-centosredhat-6-x-download/#respond</comments>
		
		<dc:creator><![CDATA[ckaraca]]></dc:creator>
		<pubDate>Wed, 20 Jun 2012 22:15:06 +0000</pubDate>
				<category><![CDATA[Data Bases]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[LINUX]]></category>
		<category><![CDATA[LINUX Help]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ntpdate]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[rpmforge]]></category>
		<category><![CDATA[selinux]]></category>
		<category><![CDATA[server]]></category>
		<guid isPermaLink="false">http://www.plugged.in/?p=568</guid>

					<description><![CDATA[<p>Version Info: V0.2 21/06/2012 DO you ever wanted to set-up a testing server with &#8211; Apache virtual config, logs, paths setted, &#8211; MySQL server with password set, &#8211; FTP Server (Vsftpd), &#8211; PHP and PhpMyAdmin installed &#38; configured on your server or VPS in seconds? If you answer &#8220;yes&#8221; to the question, you are in [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/plugged-install-lamp-for-centosredhat-6-x-download/">Download Plugged.in LAMP installer for CentOS 6.x</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Version Info: V0.2 21/06/2012</p>
<p>DO you ever wanted to set-up a testing server with<br />
&#8211; Apache virtual config, logs, paths setted,<br />
&#8211; MySQL server with password set,<br />
&#8211; FTP Server (Vsftpd),<br />
&#8211; PHP and PhpMyAdmin installed &amp; configured on your server or VPS in seconds?</p>
<p>If you answer &#8220;yes&#8221; to the question, you are in the right place, what does this script do in basic:</p>
<p>&#8211; Installs http, PHP, MySQL, phpMyAdmin, rpmforge repo and other related packages<br />
&#8211; Sets apache configs, mod_deflate, virtual hosts, create user, cgi-bin directory<br />
&#8211; Sets time with ntpdate, disables iptables &amp; selinux, mysql password and<br />
&#8211; Updates the system</p>
<p>What is needed?<br />
&#8211; A clean minimal install of CentOS/Redhat 6.X</p>
<p>How can I download the script?</p>
<pre class="brush: bash; gutter: true; first-line: 1">wget http://www.plugged.in/downloads/plugged.sh</pre>
<p>or just download it.</p>
<p>[wpdm_file id=1]</p>
<p>How to use the script?</p>
<pre class="brush: bash; gutter: true; first-line: 1">chmod 755 plugged.sh
./plugged.sh -u username -p password -d domain.com</pre>
<p>You can reach phpMyAdmin by typing domain.com/phpMyAdmin/</p>
<p>If you have suggestions or requests please write down!</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/plugged-install-lamp-for-centosredhat-6-x-download/">Download Plugged.in LAMP installer for CentOS 6.x</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.veriteknik.net.tr/en/plugged-install-lamp-for-centosredhat-6-x-download/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">568</post-id>	</item>
		<item>
		<title>Bind Multiple IP Addresses on a Single Network Card IPv4 &#038; IPv6</title>
		<link>https://www.veriteknik.net.tr/en/bind-multiple-ip-addresses-on-a-single-network-card/</link>
					<comments>https://www.veriteknik.net.tr/en/bind-multiple-ip-addresses-on-a-single-network-card/#respond</comments>
		
		<dc:creator><![CDATA[Mustafa Emre Aydın]]></dc:creator>
		<pubDate>Wed, 02 May 2012 10:03:38 +0000</pubDate>
				<category><![CDATA[LINUX]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[network]]></category>
		<guid isPermaLink="false">http://www.plugged.in/?p=366</guid>

					<description><![CDATA[<p>The beauty of having multiple IP addresses on a single server is that you can run several services with different addressing. This way you can announce your FTP service on a different address and your HTTP on another. Below I&#8217;ll describe how to achieve this in Debian based and Red Hat based distros seperately. Using [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/bind-multiple-ip-addresses-on-a-single-network-card/">Bind Multiple IP Addresses on a Single Network Card IPv4 &#038; IPv6</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The beauty of having multiple IP addresses on a single server is that you can run several services with different addressing. This way you can announce your FTP service on a different address and your HTTP on another.</p>
<p>Below I&#8217;ll describe how to achieve this in Debian based and Red Hat based distros seperately.</p>
<p>Using Debian based distros (Ubuntu, Mint etc.), setting multiple IP addresses on a single network interface is simple.</p>
<p>What we will do is to edit the /etc/network/interfaces file.<br />
If you are using DHCP, then your file should look similar to this,</p>
<pre class="brush: text; gutter: true; first-line: 1">auto eth0
iface eth0 inet dhcp

auto eth0:0
iface eth0:0 inet dhcp
iface eth0:0 inet6 dhcp</pre>
<p>Here, the <strong>eth0:0</strong> is how we get the secondary IP address on the <strong>eth0</strong> device.</p>
<p>If you&#8217;re using a static IP address instead of DHCP, then your interfaces file should be like,</p>
<pre class="brush: text; gutter: true; first-line: 1">auto eth0
iface eth0 inet static
address 10.20.30.40
netmask 255.255.255.0
network 10.20.30.0
broadcast 10.20.30.255
gateway 10.20.30.1
dns-nameservers 8.8.8.8

iface eth0 inet6 static
address 2f00:7300:100::10
netmask 64

auto eth0:0
iface eth0:0 inet static
address 10.20.30.41
netmask 255.255.255.0

iface eth0:0 inet6 static
address 2f00:7300:100::11
netmask 64</pre>
<p>You can add as many as you want, such as <strong>eth0:1</strong>, <strong>eth0:2</strong> &#8230;</p>
<p>Sometimes when adding multiple IPv6 addresses on Debian systems, it is possible that you get an error. The current workaround for that is to enable and disable the device a couple of times. You can find the solution to that problem <a href="https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/617978" target="_blank">here</a>.</p>
<p>In Red Hat based distros (CentOS, Fedora etc.), the interfaces are edited through the directory <strong>/etc/sysconfig/network-scritps</strong>. Here we have multiple files, each pointing for a device. For instance, to have 2 additional IP&#8217;s on a single ethernet device (totaling 3 addresses) we should have 3 files as follows,</p>
<p><strong>/etc/sysconfig/network-scripts/ifcfg-eth0<br />
/etc/sysconfig/network-scripts/ifcfg-eth0:1<br />
/etc/sysconfig/network-scripts/ifcfg-eth0:2</strong></p>
<p>The main device file would be just a standard one, we don&#8217;t have to change anything with it.<br />
On the other hand, the <strong>ifcfg-eth0:1</strong> file should be similar to this,</p>
<pre class="brush: text; gutter: true; first-line: 1">NAME=""
BOOTPROTO=static
MACADDR=""
IPV6INIT=no
DEVICE=eth0:1
NETMASK=255.255.255.0
MTU=""
BROADCAST=10.20.30.255
ONPARENT=yes
IPADDR=10.20.30.41
NETWORK=10.20.30.0
IPV6INIT=yes
IPV6ADDR=2f00:7300:100::11
IPV6_DEFAULTGW=2f00:7300:100::1
ONBOOT=yes</pre>
<p>This would suffice. Don&#8217;t forget to restart your network services after adding the lines (or files) to with your appropriate settings.</p>
<p>For Debian : <strong>$ /etc/init.d/networking stop &amp;&amp; /etc/init.d/networking start</strong><br />
For Red Hat : <strong>$ service network restart</strong></p>
<p>For additional IPv6 addresses you should need to add IPV6ADDR_SECONDARIES=&#8221;&#8221; line to /etc/sysconfig/network-scripts/ifcfg-eth0 file</p>
<pre class="brush: text; gutter: true; first-line: 1">IPV6INIT=yes
IPV6ADDR=2f00:7300:1::2/64
IPV6ADDR_SECONDARIES="2f00:7300:1::3/64 2f00:7300:1::4/64 2f00:7300:1::fff4/64 2f00:7300:1::fff5/64"</pre>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/bind-multiple-ip-addresses-on-a-single-network-card/">Bind Multiple IP Addresses on a Single Network Card IPv4 &#038; IPv6</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.veriteknik.net.tr/en/bind-multiple-ip-addresses-on-a-single-network-card/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">366</post-id>	</item>
		<item>
		<title>A Simple FTP Status Daemon</title>
		<link>https://www.veriteknik.net.tr/en/a-simple-ftp-status-daemon/</link>
					<comments>https://www.veriteknik.net.tr/en/a-simple-ftp-status-daemon/#respond</comments>
		
		<dc:creator><![CDATA[Mustafa Emre Aydın]]></dc:creator>
		<pubDate>Wed, 25 Apr 2012 07:11:20 +0000</pubDate>
				<category><![CDATA[LINUX]]></category>
		<category><![CDATA[Programmin]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[smtp]]></category>
		<guid isPermaLink="false">http://www.plugged.in/?p=335</guid>

					<description><![CDATA[<p>Here is a clumsy script to check on an FTP Service on a remote server if running or down. The script is written in Python and is a very draft one, but does the job. The main goal is to check whether we get any response from the FTP server while we try to connect [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/a-simple-ftp-status-daemon/">A Simple FTP Status Daemon</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Here is a clumsy script to check on an FTP Service on a remote server if running or down. The script is written in Python and is a very draft one, but does the job.</p>
<p>The main goal is to check whether we get any response from the FTP server while we try to connect anonymously. Don&#8217;t forget that this script probably won&#8217;t work if the FTP server allows anonymous connections.</p>
<p>We simply use the ftplib module to establish the FTP connection. After the successful (or failed) connection, we can report the status of the server via email, to achieve this we use the smtplib module.</p>
<p>The first lines seem simple,</p>
<pre class="brush: python; gutter: true; first-line: 1">#!/usr/bin/python
import ftplib, smtplib
server_ip='10.20.30.40'
sender='sender@email.com'
receivers=['john@email.com','doe@email.com']</pre>
<p>Above, after importing our modules, we&#8217;ve defined the ip address of our FTP server. After that, the sender email address is defined, and then a list containing the receivers.<br />
Now we can define our messages. We&#8217;ll have two messages, one for the UP status, and one for the DOWN.</p>
<pre class="brush: python; gutter: true; first-line: 1">message_up="""
 From: FTP Status DAEMON 
 To: John , Doe 
 Subject: FTP Service Running
The FTP Service on %s is running.
 """ % server_ip
message_down="""
 From: FTP Status DAEMON 
 To: John , Doe 
 Subject: FTP Service DOWN!
The FTP Service on %s is DOWN!!!
 """ % server_ip</pre>
<p>Now we can actually start the checking. The first try clause is checking if we can establish any kind of connection with the server. If the server is somehow down, or if only the FTP service is shut down, this will return some sort of error, which we will catch with the except clause, handle it with our smtp commands, then raise a system exit.</p>
<pre class="brush: python; gutter: true; first-line: 1">try : ftp=ftplib.FTP(server_ip)
except :
 print "FTP DOWN !!!"
 smtpObj = smtplib.SMTP('localhost')
 smtpObj.sendmail(sender,receivers,message_down)
 raise SystemExit</pre>
<p>And here&#8217;s the second check, if we somehow get to this line, it means that we&#8217;ve passed the system exit above, so our connection attempt with the server worked, but we&#8217;re not sure if the FTP service is actually running without a login attempt. When we try to login, and if anonymous connection isn&#8217;t allowed, we&#8217;ll get a permission error, handling it with an exception we can email the recievers that the server is running.</p>
<pre class="brush: python; gutter: true; first-line: 1">try : ftp.login()
except ftplib.error_perm :
 print "FTP Up, Permission Denied."
 smtpObj = smtplib.SMTP('localhost')
 smtpObj.sendmail(sender,receivers,message_up)</pre>
<p>Now simply connect the dots and add the whole script to your crontab, then you&#8217;re good to go!</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/a-simple-ftp-status-daemon/">A Simple FTP Status Daemon</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.veriteknik.net.tr/en/a-simple-ftp-status-daemon/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">335</post-id>	</item>
		<item>
		<title>Find the Largest Files</title>
		<link>https://www.veriteknik.net.tr/en/find-the-largest-files/</link>
					<comments>https://www.veriteknik.net.tr/en/find-the-largest-files/#respond</comments>
		
		<dc:creator><![CDATA[Mustafa Emre Aydın]]></dc:creator>
		<pubDate>Mon, 16 Apr 2012 07:29:01 +0000</pubDate>
				<category><![CDATA[LINUX]]></category>
		<category><![CDATA[LINUX Help]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[large]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[unix]]></category>
		<guid isPermaLink="false">http://www.plugged.in/?p=315</guid>

					<description><![CDATA[<p>The other day I was working on a server and needed the LARGEST files on some directory &#8211; including its subdirectories. As it turns out, it&#8217;s a very simple task limiting the file size you want with the output of the find tool. The -size argument will define the borders of your output. Let&#8217;s say [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/find-the-largest-files/">Find the Largest Files</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The other day I was working on a server and needed the LARGEST files on some directory &#8211; including its subdirectories.</p>
<p>As it turns out, it&#8217;s a very simple task limiting the file size you want with the output of the <strong>find</strong> tool.</p>
<p>The <strong>-size</strong> argument will define the borders of your output. Let&#8217;s say you want to find the files smaller than 50 MB on your server,</p>
<pre class="brush: bash; gutter: true; first-line: 1">find / -type f -size -50M</pre>
<p>Well, this will print out the full path and the file names, you won&#8217;t know which file is at what size. So to improve this, we can execute an <strong>ls</strong> command on each output,</p>
<pre class="brush: bash; gutter: true; first-line: 1">find / -type f -size -50M -exec ls -lh {} \;</pre>
<p>On this command, the <strong>{}</strong> refers to the output of each find command, and the <strong>\;</strong> is mandatory since we need to tell <strong>find</strong> where our <strong>-exec</strong> line ends, hence the escape character. (<strong>\</strong>)</p>
<p>Even though this looks good, we can keep improving by printing out the file size all in the same units. (Let&#8217;s say, megabytes) The problem with that is, the <strong>ls</strong> command can printout with the specified block size limit but it will take that block size <em><a href="http://www.thefreedictionary.com/Quantised" target="_blank">quantised</a></em>, meaning the output will only be the exact multiplicands of that block size. So if our block size is set to 1 MB and a file is 900 KB, <strong>ls</strong> will output it as 1 MB.</p>
<p>Although this is not so accurate, we can always work it around using <strong>awk</strong> to calculate the numeric values for us. Since <strong>ls</strong> normally prints out the file size in <em>bytes</em>, we can divide them to become actual <em>megabytes</em>. The line below will printout <strong>ls</strong> with actual megabytes.</p>
<pre class="brush: bash; gutter: true; first-line: 1">ls -l | awk '{print $1 " " $2 " " $3 " " $4 " " $5/1048576 " " $6 " " $7 " " $8 " " $9}'</pre>
<p>Well, we only need the <em>5th</em> column and the <em>9th</em> column which are the <em>size</em> and the <em>path</em> respectively, so the command below will suffice :</p>
<pre class="brush: bash; gutter: true; first-line: 1">ls -l | awk '{ print $5/1048576 " " $9 }'</pre>
<p>As you can see, we had to use a <em>pipe</em> to get things done here. So we need to use this pipe in our <em>exec</em> part of our <strong>find</strong> command, which is another problem. Well, the work around for this is to <strong>-exec</strong> a <em>shell instance</em> and pass the whole <strong>ls</strong> and <strong>awk</strong> line including the pipes so that new shell instance will handle things for us.</p>
<pre class="brush: bash; gutter: true; first-line: 1">find / -type f -size -50M -size +20M -exec sh -c "ls -l '{}'|awk '{print \$5/1048576 " MB: " \$9}'" \;</pre>
<p>Ok, let&#8217;s have a look at the command above. As you can see we narrowed our limits further, by getting only the files smaller than 50 MB and larger than 20 MB. We also passed our whole command with a shell instance. On this instance, the argument for <strong>ls</strong> was passed with the <strong>{}</strong> method. We apostrophized it (<strong>&#8221;</strong>) due to the possibility of having spaces in the filename, which would have caused a problem. After that, we&#8217;ve piped our output to <strong>awk</strong>, divided the <em>bytes</em>, and added a string &#8221; MB: &#8221; right before printing the <em>9th</em> column which is the file path. Don&#8217;t forget that we should escape the <em>$5</em> and <em>$9</em> using the escape character <strong>\</strong> since we don&#8217;t want the whole <strong>find</strong> line to process it before our <strong>awk</strong> does.</p>
<p>Well, the good thing is we have necessary output, the bad thing is that, it isn&#8217;t in order! So let&#8217;s make things even prettier and <em>sort</em> them, while making the output of each &#8220;<strong>MB:</strong>&#8221; bold to get some eye candy.</p>
<pre class="brush: bash; gutter: true; first-line: 1">find / -type f -size -50M -size +20M -exec sh -c "ls -l '{}'|awk '{print \$5/1048576 \" \033[1mMB:\033[0;0m \" \$9}'" \; | sort -nr -k1</pre>
<p>As you can see here, we&#8217;ve piped the <strong>find</strong> command to the <strong>sort</strong>, not the <strong>shell</strong> instance that we invoked in the <strong>find</strong> command, that&#8217;s why the pipe is right after our <strong>\;</strong> character.</p>
<p>On this command, find will also search inside <strong>/proc</strong> directory, which is a living directory, so during the search some files will be created and destroyed rapidly, which will cause some annoying outputs saying &#8220;file not found&#8221;. To avoid that, let&#8217;s tell find <strong>NOT</strong> to search the <strong>/proc</strong> directory using the <strong>-prune</strong> argument.</p>
<pre class="brush: bash; gutter: true; first-line: 1">find / -path '/proc' -prune -o -type f -size -50M -size +20M -exec sh -c "ls -l '{}'|awk '{print \$5/1048576 \" \033[1mMB:\033[0;0m \" \$9}'" \; | sort -nr -k1</pre>
<p>You can add new directories to prune with the <strong>-path &#8216;/new/directory/to/prune&#8217; -prune -o</strong> method.</p>
<p>Hope this helps.</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/find-the-largest-files/">Find the Largest Files</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.veriteknik.net.tr/en/find-the-largest-files/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">315</post-id>	</item>
		<item>
		<title>Step II: DirectAdmin Setup</title>
		<link>https://www.veriteknik.net.tr/en/step-ii-directadmin-setup/</link>
					<comments>https://www.veriteknik.net.tr/en/step-ii-directadmin-setup/#respond</comments>
		
		<dc:creator><![CDATA[ckaraca]]></dc:creator>
		<pubDate>Sun, 15 Apr 2012 22:20:41 +0000</pubDate>
				<category><![CDATA[DirectAdmin]]></category>
		<category><![CDATA[directadmin]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[setup]]></category>
		<guid isPermaLink="false">http://www.plugged.in/?p=273</guid>

					<description><![CDATA[<p>If you prepared your server with the directives we mentioned on the previous article, it will be so much easy to install DireactAdmin software. You must download the setup file from DirectAdmin site: Download DirectAdmin setup file &#38; run: mkdir /root/DA cd /root/DA wget http://www.directadmin.com/setup.sh sh setup.sh Steps to follow: DirectAdmin setup will ask you [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/step-ii-directadmin-setup/">Step II: DirectAdmin Setup</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>If you prepared your server with the directives we mentioned on the previous article, it will be so much easy to install DireactAdmin software.</p>
<p>You must download the setup file from DirectAdmin site:</p>
<h3>Download DirectAdmin setup file &amp; run:</h3>
<blockquote><p>mkdir /root/DA<br />
cd /root/DA<br />
wget http://www.directadmin.com/setup.sh<br />
sh setup.sh</p></blockquote>
<h3>Steps to follow:</h3>
<p>DirectAdmin setup will ask you your account number &amp; your license number, if you mistype accidentally just press CTRL+C to quit and restart setup. You need to wait ten seconds after restarting setup.</p>
<p>After that step the setup will ask you your domain name (hostname) bare in mind that wirte your hostname as subdomain + domain + tld as we offer the subdomain part should better be &#8220;mail&#8221;. Such that your domain name is myserver.com then write your hostname as &#8220;mail.myserver.com&#8221;, this way your mail server inside DirectAdmin should work better.</p>
<p>After that step, follow the directives, (we offer apache 2, php5 installation and &#8220;yes&#8221; to all questions) and finish the installation. Always consider selecting the second option,</p>
<p>You should better restart the server but restarting DirectAdmin is enough with the command:</p>
<blockquote><p>service directadmin restart</p></blockquote>
<p>After the installation you can enter to your admin site by typing http://SERVERIP:2222 to your favorite browser. Don&#8217;t panic if some of the services is not responding after setup, this is because you need to make some DNS configurations and you need to enter your master domain name to the control panel(cp).</p>
<p>DirectAdmin setup creates a log file called setup.txt where all your passwords for your server is present:</p>
<blockquote><p>less /usr/local/directadmin/scripts/setup.txt</p></blockquote>
<p>Go to Step three for making post installation tasks.</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/step-ii-directadmin-setup/">Step II: DirectAdmin Setup</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.veriteknik.net.tr/en/step-ii-directadmin-setup/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">273</post-id>	</item>
		<item>
		<title>Adding Job to Crontab Using BASH</title>
		<link>https://www.veriteknik.net.tr/en/adding-job-to-crontab-using-bash/</link>
					<comments>https://www.veriteknik.net.tr/en/adding-job-to-crontab-using-bash/#respond</comments>
		
		<dc:creator><![CDATA[Mustafa Emre Aydın]]></dc:creator>
		<pubDate>Mon, 09 Apr 2012 06:51:41 +0000</pubDate>
				<category><![CDATA[LINUX]]></category>
		<category><![CDATA[LINUX Help]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">http://www.plugged.in/?p=253</guid>

					<description><![CDATA[<p>Adding a task into crontab is relatively easy. You just enter the crontab with &#8220;$ crontab -e&#8221; and add the necessary job, save and exit. But adding a job in your bash script is not that simple, because what you have to do is, to get the entire list of the jobs, append your new [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/adding-job-to-crontab-using-bash/">Adding Job to Crontab Using BASH</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Adding a task into crontab is relatively easy. You just enter the crontab with &#8220;$ crontab -e&#8221; and add the necessary job, save and exit.</p>
<p>But adding a job in your bash script is not that simple, because what you have to do is, to get the entire list of the jobs, append your new job and save them as a whole.</p>
<p>Here&#8217;s a snippet of how to do that. Here, we assume that we want to run a script called &#8220;myscript.sh&#8221; every 5 minutes and the full path of the script is &#8220;$my_path/myscript.sh&#8221;. Don&#8217;t forget that in everycase, adding a job to crontab you have to specify the full path!</p>
<p>So basically, add these lines to your script.</p>
<pre class="brush: bash; gutter: true; first-line: 1">command="$my_path/myscript.sh" &gt; /dev/null 2&gt;&amp;1"
job="* /5 * * * * $command"
cat &lt;(grep -i -v "$command" &lt;(crontab -l)) &lt;(echo "$job") | crontab -</pre>
<p>Note that this is for <strong>BASH</strong>, not <strong>SH</strong>, since the syntax with the brackets is only available in BASH.</p>
<p>As you can see, the last line is the critical one. In the first brackets using the grep tool, we catch everything currently in the crontab &#8220;except our command&#8221;, so this will prevent from adding the $command even if it is already in crontab. After that, we echo our job to the end of the current jobs, and redirect it to cat as a standart input. Since the standart output of cat will be the whole crontab list &#8220;with our new job&#8221;, we can use crontab with its &#8220;-&#8221; option to get the arguments from the stadart output.</p>
<p>Hope this helps.</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/adding-job-to-crontab-using-bash/">Adding Job to Crontab Using BASH</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.veriteknik.net.tr/en/adding-job-to-crontab-using-bash/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">253</post-id>	</item>
		<item>
		<title>Detecting Possible Mail Forgers in EXIM</title>
		<link>https://www.veriteknik.net.tr/en/detecting-possible-mail-forgers-in-exim/</link>
					<comments>https://www.veriteknik.net.tr/en/detecting-possible-mail-forgers-in-exim/#respond</comments>
		
		<dc:creator><![CDATA[Mustafa Emre Aydın]]></dc:creator>
		<pubDate>Fri, 23 Mar 2012 12:15:12 +0000</pubDate>
				<category><![CDATA[LINUX]]></category>
		<category><![CDATA[exim]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[spam]]></category>
		<guid isPermaLink="false">http://www.plugged.in/?p=243</guid>

					<description><![CDATA[<p>The other day we were working on a mail server of a customer&#8217;s that spammed insanely. Since the mail transfer agent it uses is exim, it&#8217;s necessary to check the mainlog files. Whilst doing that, we realized the server was getting a lot of incoming mails as forgery. So, it is possible to get the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/detecting-possible-mail-forgers-in-exim/">Detecting Possible Mail Forgers in EXIM</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The other day we were working on a mail server of a customer&#8217;s that spammed insanely. Since the <a href="http://en.wikipedia.org/wiki/Message_transfer_agent" target="_blank">mail transfer agent</a> it uses is <a href="http://www.exim.org/" target="_blank">exim</a>, it&#8217;s necessary to check the <a href="http://www.exim.org/exim-html-current/doc/html/spec_html/ch49.html" target="_blank">mainlog</a> files.</p>
<p>Whilst doing that, we realized the server was getting a lot of incoming mails as forgery. So, it is possible to get the IP list of the possible forgerers.</p>
<p>To do this, we need to check the lines that indicate an INCOMING message, and that claims it uses our mail server itself as a sender, but actually connects through a different IP address.</p>
<p>Exim uses the notation <strong> for incoming messages, so it is easy to catch.<br />
It also uses the notation <strong>H=IP.ADD.RE.SS</strong> to state the IP address (or the hostname) of the incoming message. The beauty in this is that, it also gets the real IP address and checks if they match, if they don&#8217;t match, then it brackets the H= value like this <strong>H=(IP.ADD.RE.SS)</strong> and right after that, gives the real IP address with boxed brackets. <strong>[REAL.IP.ADD.RESS]</strong></strong></p>
<p>To detect forgeries done in a time period, and getting ONLY the IP address is crutial when you want check those IP addresses with others tools and scripts. So here&#8217;s an example <strong>grep</strong> line :</p>
<p><code>grep -ohP "(?</code></p>
<p>The example above, assumes that your mailserver&#8217;s IP Address is 10.1.31.33, of course this won&#8217;t be the case since it&#8217;s a local ip, so change that with yours.<br />
It also checks for attempts in <em>March 2012</em>, you can also edit this, since we&#8217;re using the Perl compatible regular expressions (the -P option of grep) than we can use <strong>..</strong> as wildcards for 2 characters (the day indicator).<br />
Since we&#8217;re checkig for more than 1 file, (<em>mainlog*</em>) grep will output the filenames too, the -h option is to suppress that.<br />
Also, we&#8217;re piping the output to <strong>uniq</strong>, so that we don&#8217;t get multiple results for the same IP address.<br />
Now you can simply redirect these IP addresses to your script/tool or save them for other purpose.</p>
<p>The post <a rel="nofollow" href="https://www.veriteknik.net.tr/en/detecting-possible-mail-forgers-in-exim/">Detecting Possible Mail Forgers in EXIM</a> appeared first on <a rel="nofollow" href="https://www.veriteknik.net.tr/en/">VeriTeknik</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.veriteknik.net.tr/en/detecting-possible-mail-forgers-in-exim/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">243</post-id>	</item>
	</channel>
</rss>
