How to Edit Text Configuration Files on OS X Server
Managing OS X Server, quite often requires one to manually edit text based configuration files. As do many of our tutorials and FAQs.
There are many ways of doing this. You can use a Terminal based editor or one with a fancy GUI. What is paramount though, is that you use a Plain Text Editor like TextWrangler, Textastic or BBEdit. Rich Text Editors like Microsoft Word or Pages can severely damage your configuration files. Keeping above in mind, the rest comes down to personal preference.
On OS X I prefer to either use PICO, a Terminal based editor or TextWrangler which has a simple but powerful GUI and good syntax highlighting.
On iOS, PICO – accessed through an SSH session with Prompt – or TextWrangler with its built in SFTP client are my tools of choice.
Whether I use a Terminal based editor or one with a GUI mainly depends on the task at hand. For quick edits of a few lines, PICO works well and is the fastest way to go. If I need to make lots of changes or need a good overview of the file I am editing, a GUI editor is way more comfortable.
Let’s have a quick look at how these work.
Assuming we want to modify Postfix’
main.cf, we would issue:
sudo pico /Library/Server/Mail/Config/postfix/main.cf
And be presented with a view like this:
Now we can use our cursor keys to move around, the backspace key to delete characters or simply type what we need. When we are done editing, we need to save and exit. The commands for this are at the bottom of the window.
In order to save and exit, we would hit
CTRL-O (to write the file) and
CTRL-X to exit PICO. Alternatively we can just hit
CTRL-X and enter
y when asked to save.
Have a good look at the available commands as there are more options like cutting text and page scrolling.
While it may need a bit of time to get adjusted to, mastering a Terminal based text editor can be a very useful item in your tool chest.
Using the GUI instead of Terminal
If you don’t like using Terminal, you can always use a Plain Text Editor like TextWrangler which would look something like this
and behave like any other GUI Plain Text Editor.
The choice is yours, just make sure you avoid Rich Text Editors like Microsoft Word or Pages. There are plenty to choose from, like TextWrangler, Textastic, BBEdit, SubEthaEdit, SublimeText and many more. The choice on iOS is equally large.
For this tutorial, let’s look at TextWrangler which is a powerful (yet free) plain text editor
TextWrangler allows you to navigate hidden directories (/etc /Library etc) and edit files even when they are owned by root.
IMPORTANT: Don’t use the App Store version
Due to app store rules, the version from the app store is not able to unlock/edit files.
Download the application directly from the publisher: http://www.barebones.com/products/textwrangler/
These steps walk you through editing a hidden/privileged (root) file. We’ll use
/etc/php.ini as our example.
In TextWrangler, use the Open File by Name option in the File menu.
This allows you to simply paste the path/name:
Another way to open
/etc/php.ini is with the more familiar Open Dialog from TextWrangler.
Be sure to choose the Show Hidden Files option.
ALWAYS backup a file before you make changes
Save a backup to your Desktop using the Save a Copy option from the File menu.
Because the file is owned by root, you’ll need to authenticate.
We need to be careful editing this file, one out of place character could effect your system.
You did backup first, right ?
Let’s make a safe change.
php.ini file, comments start with a semi-colon.
Simply add a space at the end of one of the commented lines:
;;;;;;;;;;;;;;;;;;; ; About php.ini ; <<--- add a space at the end of this line ;;;;;;;;;;;;;;;;;;;
When you attempt to edit the file, you’ll be asked to authenticate again.
Once you authenticate, you can edit, then save the file.
That is all there is. Happy editing!