Debian 7.0 (Wheezy) Release Candidate 1 was released on February 17th, 2013. This is not the final stable release, which expected in a few months. It is still a "testing" release (not recommended for production servers). However, it is a foretaste of the final (stable) version that will follow.
New features include Linux kernel 3.2 with longterm support, ext4 is now the default filesystem, systemd support.
Here I will setup a Debian 7 system intended for LAMP server. "systemd" is a system and service manager for Linux, compatible with SysV and LSB init scripts. "systemd" has been adopted from many distributions. So, I will activate it in the following setup.
MariaDB is a fork of MySQL, which is community maintained under the GPL v2 license.
Recently, many popular Linux distributions have moved from MySQL to MariaDB as default database server. Fedora since version 19, Archlinux since March 2013 and OpenSuse. Moreover, Wikipedia is moving to MariaDB and Mozilla is also now using MariaDB.
Famous distributions often used on server environment as Debian and Centos have not yet replace MySQL with MariaDB, but there is a lot of talk about this in their communities.
So, a reasonable question is raised. Is it time to remove MySQL in favor of MariaDB in production servers?
PHP supports MySQL using a PHP extension. Thousands or millions projects have been written worldwide using PHP and MySQL. PHP team announced plans to deprecate MySQL extension in mid 2011. Old MySQL extension officially deprecated since PHP 5.5.0 in late 2012 and it will be removed in the future. The alternatives since PHP 5 and later are MySQLi and PDO.
Everyone can understand that is not so easy to migrate immediately old projects. However, old extension must not be used anymore in new development.
Here I describe the common use of MySQLi in PHP development with MySQL. Transaction example is also included. Learn about Prepared Statements and why the are important.
Git is an open source distributed version control system, initially designed and developed by Linus Torvalds for Linux kernel development in 2005. Github founded in February 2008, was one more reason why Git really took off. GitHub provides free hosting for Open Source projects with unlimited collaborators (as well as commercial plans for private repositories).
There are mainly two ways to collaborate using Github.
Here is a real example of "fork and pull model". I will describe all the steps for someone who just starts with Git and Github.
In a previous post I wrote about free image resources. Most of them are great images. But, sometimes you cannot find what you are looking for or you need a more professional image.
Of course you may use famous image galleries as Getty Images or Corbis or any other. But these images are not cheap!
Luckily, there are many image banks selling royalty free professional images for a low price. How does this work? You can buy credits for a reasonable price (e.g. 20 USD). These credits are valid for about a year. Each image costs some credits, depending its size and resolution. So, you can buy cheap yet quality professional images starting from 0.20 USD. If you need more images in a regular basis, their subscription plans will work for you.
Compression will slightly increase CPU usage, but in most cases this is not a problem, comparing to compression advantages.
Here I describe how to setup and test gzip compression in a Debian system with Apache using Apache module mod_deflate.
Database abstraction layer is a software with which database tasks (connect, execute queries etc) can be performed with more than one databases. So, in most cases, the software application can be functioning with many databases without modification to source code.
When our application requirements include operation with more than one databases, a database abstraction layer must be used. There are various solutions as PDO, Pear MDB2, php ADODB and more.
php ADODB is an active Open Source project and it is always a good solution.
MySQL is "The world's most popular open source database". It is easy to setup MySQL either in Linux or Windows. Installation procedure creates the first user root and applies basic configuration to current database server.
There are many database managers with user friendly graphical or web based interface, useful to perform basic or advanced MySQL administration tasks. However, these applications are not always available (for example in production server environment). MySQL (as any other database server) offers mysql client and the utility mysqldump, which are command line tools, useful to manage our MySQL server.
Here are the most important tasks for everyday use, every administrator or web developer needs to know.
This is my list with ten of the most useful web development blogs, every web developer must follow. My criteria were:
The list was drawn up in alphabetical order.
One of the biggest advantages of Debian is the easy and mostly safe upgrade. However, the server administrator needs to know when updates are available, which of them are security updates, how urgent is an upgrade, and if system reboot is required after system update. This how-to is mostly focused on these questions.
Some Debian packages as apticron, update-notifier and debian-goodies provide interesting solutions.
How do you handle these issues? Share your experience with us. Leave a comment.