Moving to #Freebsd ?

I am thinking of moving my main server to FreeBSD. My main goal is to learn the OS. I have gotten so use to Debian and It seems like it is no longer a challenge to me. At least I think with #FreeBSD, I do not have to worry so much with upgrading. Right now, since I track Debian Unstable, I have to constantly update when I am in there. Also I also have to update the kernel. All of this I know are avoidable. I could just go with Debian stable and I could just choose to use the distro kernel and not have to worry with compiling the kernel.

Anyway, I think this would be a huge undertaking. I probably would have to plan this in stages. For one, how do I migrate without significant downtime???

 

Freeswitch init via SystemD on Debian Unstable

I ran into an issue when I upgraded my Debian unstable box to systemd. I have FreeSWITCH on this box and the systemd initiation is not working.


Dec 14 18:05:44 mail systemd[1]: freeswitch.service: Start operation timed out. Terminating.
Dec 14 18:05:48 mail systemd[1]: Failed to start freeswitch.
Dec 14 18:05:48 mail systemd[1]: freeswitch.service: Unit entered failed state.
Dec 14 18:05:48 mail systemd[1]: freeswitch.service: Failed with result 'timeout'.
Dec 14 18:05:48 mail systemd[1]: freeswitch.service: Service hold-off time over, scheduling restart.
Dec 14 18:05:48 mail systemd[1]: Stopped freeswitch.
Dec 14 18:05:48 mail systemd[1]: Starting freeswitch...
Dec 14 18:05:50 mail systemd[1]: freeswitch.service: PID file /run/freeswitch/freeswitch.pid not readable (yet?) after start: No such file or directory

After much research and trial and error, I finally found the solution. I had to change the PIDFile statement of the freeswitch.service file.


[Unit]
Description=freeswitch
After=syslog.target network.target local-fs.target

[Service]
; service
Type=forking
;PIDFile=/run/freeswitch/freeswitch.pid
PIDFile=/usr/local/freeswitch/run/freeswitch.pid
;PermissionsStartOnly=true
Environment="DAEMON_OPTS=-nonat"
EnvironmentFile=-/etc/default/freeswitch
ExecStart=/usr/local/freeswitch/bin/freeswitch -u freeswitch -g freeswitch -ncwait $DAEMON_OPTS

;ExecStart=/usr/local/freeswitch/bin/freeswitch -u freeswitch -g freeswitch -ncwait -nonat -rp
TimeoutSec=45s
Restart=on-failure
; exec
WorkingDirectory=/usr/local/freeswitch
;User=freeswitch
User=root
Group=daemon
;Group=freeswitch
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=60000
;LimitSTACK=240
LimitRTPRIO=infinity
LimitRTTIME=7000000
IOSchedulingClass=realtime
IOSchedulingPriority=2
CPUSchedulingPolicy=rr
CPUSchedulingPriority=89
UMask=0007

[Install]
WantedBy=multi-user.target

Systemd in Debian

I notice that my raid array is not starting up properly after I boot a new kernel, 4.3. I figured out that I could manually assemble the array with the command below. However, I want to automate the process.

mdadm --assemble --verbose /dev/md127 /dev/sdb1 /dev/sdc1

The solution is making the necessary changes in mdadm.conf file so that the system can see the array following a reboot. Here is my mdadm.conf file.


#mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
#DEVICE partitions
DEVICE /dev/sd[bcdjkl]1

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md127 metadata=0.90 UUID=a42d6399:f6d2b49c:924717a0:72ea5865 devices=/dev/sdb1,/dev/sdc1

# This file was auto-generated on Mon, 16 Jul 2012 06:37:54 -0400
# by mkconf 3.1.4-1+8efb9d1+squeeze1

Howto replace a bad hard drive on Software RAID

On my server, I have a drive on software raidĀ  mirroring. This array stores all my data for this blog. A couple of weeks ago I got a degraded array message. When I try to reboot the server, I heard a clicking noise on one of the mirrored drive. These are the steps I did to replace the drive.

  1. fdisk -l
  2. fdisk partition the new hard drive
  3. add the new drive

mdadm --manage /dev/mdX --add /dev/sdX

Getting “push email” without an Exchange server

For some people, getting their email pushed to their mobile is important. Although the emails from my home email server is not really as important as my work emails, it still is a good learning experience and its fun. šŸ˜€

First, one must already have a working email server. IĀ  am not going to discuss that here. My personal setup is a Debian unstable box with Postfix and Dovecot. I set up my imap server with Maildir and virtual users.

Next, if you use a Debian based distro, do not use “d-push” ,the Debian packaged version of Z-Push, because it is old and I ran into a lot of problems getting it to work. Just download the upstream version and you should be fine.

Unpack the downloaded file and follow the “INSTALL” file instructions.

There are 2 config.php file that we have to edit. The main one on the root of the install, we need to add the “BACKEND_PROVIDER”. Since I am using imap, I added “BackendIMAP”.

Screen Shot 2015-03-07 at 11.32.10 AM

 

 

 

The second config.php file is under the backend/imap folder.Ā  I change the port because I am using SSL. The options part I had to do a lot of trial and error, and some research.(5)

Screen Shot 2015-03-07 at 11.30.00 AM

 

 

 

Save both of this files and reload your Apache.Ā  Before setting up your device try to login through the browser. One should get something similar to this screenshot. If not, you need to do more troubleshooting.

Screen Shot 2015-03-07 at 11.59.07 AM

 

 

 

 

References

  1. http://php.net/manual/en/function.imap-open.php
  2. http://z-push.org/
  3. http://z-push.sourceforge.net/phpbb/viewtopic.php?f=2&t=2408&p=8788&hilit=dovecot#p8788
  4. http://doc.zarafa.com/7.0/Administrator_Manual/en-US/html/_zpush.html
  5. https://nickebo.net/setting-up-push-mail-with-dovecot/

Gallery 3 no more..

gallery
Gallery

I recently found out that Gallery is going to hibernation,Ā when I was trying to update my install. It’s sad but really understandable. Everybody has their own lives and I could attest to that. People move on and prioritize more important things such as family, school or work.

In light of all of this, I have decided to just move all my photos to my wordpress blog. This would consolidate all my photos since I am mostly using WP to post photos anyway. The only problem is how do I upload my photos to my WP. Physically, all my photos are on the same server albeit on a different hard drive . But, there isn’t a clear way to upload my stuff to WP. I found a plugin “Add from Server” which at first looked promising but It failed the first time I tried it. I am thinking I can just add the photos through PhpMyadmin. I need to investigate further.

Office 365 is coming and …

Our office is going to do a force upgrade of some sort these coming days and I don’t want to let go of one feature that I have gotten use to using. This is the journal timer in outlook. I was trying to look for a replacement but I cant find any.

Before I started this job, I was mainly using Emacs and Org for organising my projects and daily tasks and I know Org has this really nifty feature of clocking in and out with time stamps. Therefore , I might just go back to using Org however I am a bit apprehensive in how to integrate all my job related stuff since we are such a microsoft centric organization.

I guess I will figure it out . Whoever said that ” necessity is the mother of all innovation” is damn right.

Freeswitch and NAT audio issues

I am running Freeswitch from git and lately I notice that it’s not working properly. Something changed that I could not put my finger on it.

So this is my setup:

  • Freeswitch from git – I almost always update this when I can. I don’t remember when but I one of the update I did broke the thing
  • Dingaling/GoogleVoice – I don’t know if this is FS or a google voice problem. Maybe google made some changes and screwed up freeswitch
  • Debian Sid – updated all the time
  • PFsense – latest and greatest routerĀ .I am doing NAT through this box. I might have made some changes that might have affected my FS . Need to investigate this.

What I have done so far:

  • I had set stun on jingle_profile and I still hear no audio , DTMF works however
  • Setting stun off disables DTMF and still no audio
  • Turned off Call Screening/Presentation
  • I am reverting to version 1.2.stable today. Before I was tracking Master.

Reverting to stable worked!

Heimdal-Kerberos,OpenLDAP and Debian

I am trying to set up Openldap and Kerberos on my server for several days now. Openldap is somewhat working since I am able to login via normal clients, however I am stuck with Heimdal.

Actually at first I went with the MIT version of Kerberos but after I read somewhere that it wasn’t a good idea I went with Heimdal instead. This is where trouble started. It seems like when I installed Heimdal ,It did not completely removed MIT . So I was left with a mess. It keeps on giving me an error that Ā that the kdc could not be reach but I checked the firewall,nat seems to be working, netstat shows the server ports open also. It must be the dns. Restart dhcp server and client,no go. Searching web then I found out that I set the host name default in my kernel,is this it? Right now it’s set to my domain name. I am now updating my kernel to check this hypotheses.

 

Followup:

I finally was able to recompile the kernel and It seems like the default hostname was a red herring. So I kept digging and I found out that Kerberos is really very sensitive to bad DNS configuration. I read somewhere that I need to set up split-DNS in order for it to work. So off I go to the PFsense documentation. And after I set it up! Bingo!