Imagine you’ve created your new Ghost install but have set it up with the incorrect process name. The official documentation does not tell us how to update it, it just tells us that it can be set using the --pname
flag during initial installation. Let’s look at how we can update the process name after we’ve installed our site.
Category: Linux
Renewing Let’s Encrypt certificate
Have the following command setup in my crontab
to renew the certificate for this blog, and for the main website – thecurlybraces.com
30 3 1 */2 * /opt/letsencrypt/certbot-auto renew --pre-hook "" --post-hook "service nginx restart"
This causes the command to run, at 03:30 on day-of-month 1 in every 2nd month.
Output
-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/thecurlybraces.com.conf
-------------------------------------------------------------------------------
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for thecurlybraces.com
http-01 challenge for blog.thecurlybraces.com
Waiting for verification...
Cleaning up challenges
-------------------------------------------------------------------------------
new certificate deployed without reload, fullchain is
/etc/letsencrypt/live/thecurlybraces.com/fullchain.pem
-------------------------------------------------------------------------------
Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/thecurlybraces.com/fullchain.pem (success)
Running post-hook command: service nginx restart
Incase you want to add more domains to an existing certificate, use the following command –
sudo /opt/letsencrypt/certbot-auto --expand -d blog.thecurlybraces.com -d thecurlybraces.com -d bitsnpieces.thecurlybraces.com --pre-hook "" --post-hook "service nginx restart"
This assumes that you have only a single certificate. If you’ve more, you’ll have to use --cert-name
. Read more here.
Just putting this here for reference, and with the hope that it might be useful for someone else.
Setting up a blog using Ghost on Debian
My web hosting’s annual payment date was drawing close, and instead of renewing it, I decided I’d rent a server on Digital Ocean for 10$ a month. It turns out to be a lot more expensive but gives me the option to use the server for something other than just blogging and running PHP application.
After shifting to this new server, the first thing to do was to migrate my blog here. WordPress is an amazing platform, but over the years it has evolved to something a lot more than just a blogging tool. Besides the new kid on the block – Ghost, was creating a lot of buzz for its simplicity. I wanted to give it a try.
I setup my Digital Ocean server with Debian (Jessie 8.2). Node.js is required to run Ghost. Since I wanted to use this server for multiple applications, I decided I’d put nginx as a front facing proxy/compression server.
This blog item is a guide for setting up Ghost on a server running Debian. Let’s start,
Continue readingMy tools on Linux
Update 2016-01-16
Development of Crunchbang has now stopped. There are a few community spin-offs available, Bunsen Labs and Crunchbang++. I’m now using a netinst version of Debian at home with the i3 window manager, and Bunsen Labs on my office laptop. Both are working well. I’m still using the same set of software for my work, in addition to a few more, so this post is still valid.
I’ve been using Linux at home and work for over 5 months now. I’m using a Debian based distribution called Crunchbang. Over these past few months I’ve developed/programmed using multiple technologies and have gathered a collection of tools, that I use on a daily basis.
Name | Type | Link |
---|---|---|
Eclipse with NodeEclipse – Check Update | IDE for Node.js | Link |
Netbeans | IDE for PHP | Link |
Dbeaver | GUI client for Cassandra and others | Link |
MySQL Workbench | MySQL/MariaDB GUI client | Link |
Dia | Flowchart and Diagrams | Link |
SoapUI | Testing – API and Web Services | Link |
Tilda | Drop down terminal | Link |
Meld | Mergetool | Link |
Remmina | GTK RDP Client | Link |
Tomboy | Note Taking App | Link |
GMTP | MTP Client | Link |
GIMP | Image manipulation | Link |
get_results PHP function not working on CentOS
There are instances where the PHP function – get_results will not work on CentOS (this maybe the case with other Linux based operating systems as well). I faced this issue while deploying a project on CentOS which was originally developed on Windows. All my INSERT, UPDATE
and DELETE
database statements were working properly, but bulk SELECT
statements had issues. Closer inspection narrowed down the problem to the get_results
function.
I came across this on the get_results
PHP documentation page –
MySQL Native Driver Only
Available only with mysqlnd.
I was able to determine if mysqlnd
driver was installed using this post on StackOverflow as reference. As expected, it wasn’t.
Here’s the relevant php
code from the StackOverflow post –
<?php
$mysqlnd=function_exists('mysqli_fetch_all');
if($mysqlnd) {
echo 'mysqlnd enabled!';
}
Now that I new that we needed to install the mysqlnd
driver, here are the steps that I followed to get the mysqlnd
driver working on CentOS,
// First remove the existing MySQL driver
yum --enablerepo=remi,remi-test remove php-mysql
// Then go ahead and install mysqlnd
yum --enablerepo=remi,remi-test install php-mysqlnd
// Restart httpd
/sbin/service httpd restart
// If you have phpMyAdmin, re-install it so that it uses the new MySQL driver
yum remove phpMyAdmin
yum install phpMyAdmin
After installing the mysqlnd
driver the get_results
function worked just fine.
Setting up my fresh Crunchbang installation
Update 2016-01-16
Development of Crunchbang has now stopped. There are a few community spin-offs available, Bunsen Labs and Crunchbang++. Although most of what’s been written here should be applicable to these distributions, it hasn’t been tested. I’m now using a netinst version of Debian at home with the i3 window manager, and Bunsen Labs on my office laptop. Both are working well.
For the past year and a half, I’ve been working primarily on Microsoft’s stack – C#.NET, ASP.NET Web Forms, HTML, CSS, JavaScript (jQuery primarily). My company recently started taking up projects on open source software such as PHP, WordPress and Android. This gave me an opportunity to shift to Linux again. I’ve always been fond of Linux. The ability to customize and fine tune your system to just the way you like it gives me a sense of freedom and power.
Last Friday, I installed Crunchbang. It is a Linux distribution derived from Debian. The purpose of this post is to outline the various steps I followed to get Crunchbang ready for use. I can then refer to this post whenever I’m setting up my system again, or helping someone else set up theirs.
Hardware Configuration
I’ll start of with my computer specifications first. This might help people with similar hardware configuration to find a solution to their problems.
Name | Configuration |
---|---|
Processor | Intel i5-4570 CPU @ 3.20GHz |
Motherboard | Gigabyte H87M-D3H |
RAM | 6.00 GB RAM |
Video Card | MSI HD 7850 Hawk |
Monitor(s) | Philips 190VW (1440 X 900) Dell S2240L (1920 x 1080) |
System Update
Once Crunchbang is installed and you boot up for the first time a handy script starts up that allows you to update your system and installed software. This script can be invoked later on as well by running cb-welcome
command on the terminal.
Installing LAMP and Java
Follow the script and install Java and the LAMP stack. It is also possible to install – Git, SVN and drivers for printer.
Installing AMD Proprietary Driver
After the script has finished, it’s time to install the graphics driver.
I followed the manual method outlined in this post on the Crunchbang forums. I tried using smxi
to do it for me, but I think it was having trouble disabling the default Radeon drivers. Follow the exact steps, and reboot whenever advised.
Setup dual monitors in AMD CCC
Okay, so driver installation is over. It’s time to set up dual monitors. By default, after you’ve installed Crunchbang on a system that has dual monitors and an AMD graphics card, the monitors will duplicate each other. Once you’ve installed the driver you can change that setting. Fire up the AMD Catalyst Control Center by running amdcccle
command on the terminal.
Change the mode to extend the display to two monitors rather than duplicate the display –
Placing monitors in the correct order (left or right of each other) is as simple as dragging them into place. You can also change the resolution from this screen.
Another problem that people with DELL S2240L and AMD cards will have that the display on the monitor won’t re-size to fit the entire screen. The fix for that is available through CCC –
Note that the CCC makes changes to the xorg.conf
file in /etc/X11
. If you don’t want to make these changes everytime you reinstall Crunchbang, just backup that file.
Installing Logitech Wireless Driver
I have a wireless Logitech keyboard. With the new motherboard the keyboard is not auto detected by Crunchbang. Installing the driver found here and then restarting resolves the issue.
Boot Error : platform-microcode : intel-ucode … (not found?)
If you are running new Intel hardware, the following error –
platform microcode: firmware: agent aborted loading intel-ucode/06-1a-05 (not found?)
seems to pop up during boot. It’s basically harmless, but can be fixed by installing intel-microcode
using APT.
Un-install Software
gFTP |
Transmission |
Gnumeric |
VLC Media Player |
Abiword |
Install Software
Following is a list of software I install after installing #!
Deluge
Torrent client
sudo apt-get install deluge
Clementine
sudo apt-get install clementine
Dropbox
Use existing #! script, under the Openbox menu, Networking tab.
MPlayer
sudo apt-get install mplayer
Then change add the following to the ~/.mplayer/config
–
#Volume softvol=1 softvol-max=400
This raises the max volume to 400%.
Artha
sudo apt-get install artha
Google Chrome
Use existing #! script, under the Openbox menu, Networking tab.
Flux
I know the above line, doesn’t make it sound very exciting, but you really should give flux a go.
- Grab the binary from here. That’s the xflux daemon (command line, but for X-Windows).
- Add the following line to Openbox autostart file to start xflux daemon on system startup.
# l – latitude, g - longitude
xflux -l 17.4 -g 78.5
Netbeans
Grab the installer from here
Code::Blocks
Grab the .deb from here
OpenOffice
Grab the .deb installation files from here
Run the following commands one after the other –
sudo dpkg -i *.deb
cd desktop-integration
sudo dpkg -i *.deb``
Customize Startup and Openbox Menu
autostart.sh determines the applications to be run at start-up and menu.xml defines the layout of the Openbox menu.
Here is my current autostart.sh file and here is my menu.xml.
Customize Conky and Tint2
Conky is basically a system monitor software for the X Window System. It can be extend via plugins and can be customized to show things such as weather.
Tint2 is a task-bar designed to be simple and lightweight. Here’s my tint2 config file.
My Conky configuration can be found here. The result –
That’s it. That’s all I do once Crunchbang has been installed. It took me about four hours hours, but with this post as a reference, next time I should be able to reduce that time to about an hour.
Crunchbang is wonderful distribution that is minimalist, fast, stable and extremely customizable. It runs very well on old and new hardware. They have a helpful and friendly community. So, if you are looking for a new Linux distribution to try out, do give Crunchbang a test drive.