How to Create a Custom Launcher in Unity on Ubuntu 11.10

One of the first things I always have to do after a fresh install of the latest Ubuntu (or whatever distro is striking my fancy at the time) is create some custom launchers for applications like Eclipse.

Prior to Unity this was done quite easily by editing the menus. In Ubuntu 11.04 with Unity this was no longer an option, so you could right-click on your desktop and select “Create Launcher” and then move the new launcher to ~/.local/share/applications, or there was also a method of creating a .desktop file manually that did the trick.

In Ubuntu 11.10 the right-click menu option for “Create Launcher” was removed (you can read more about why here), so we’re really left with no easy way to create custom launchers. I consider myself a gearhead but even I didn’t care for the “just launch the binary from the terminal” suggestion by some people in the bug thread.

So in my semi-obsessive reading about all of this last night I came across a metion of a package called alacarte that brings back the classic menu editing functionality we knew and loved back in the pre-Unity days.

Just install it:

sudo apt-get install alacarte

Then run it (alacarte from a terminal, or just hit super and search for alacarte), and you’ve gone retro with your menu editing.

One of the 10,000 things I love about free sofware–if there’s an annoyance like this chances are someone else who’s annoyed will fix it, or you can always jump in and fix it yourself. Clearly this wasn’t something on which the Ubuntu developers were going to budge but the alacarte solution works extremely well.

Installing Cisco AnyConnect on 64-Bit Ubuntu 11.10

Every six months for the past few years I’ve been posting how to install Cisco AnyConnect on the latest 64-bit releases of Ubuntu and for a couple of cycles Linux Mint since I was using that as my primary OS for a while.

This time around it’s finally downright boring, which is a good thing. No more installing 32-bit libraries, creating symlinks to Firefox libraries, etc. etc. you just do the following:

  1. Hit your company’s VPN server in a browser and log in with your user name and passcode
  2. Click the AnyConnect link on the left
  3. Click “Start AnyConnect”
  4. This will attempt to install AnyConnect via your browser’s Java plugin. If this works, you’re done! If this doesn’t work (give it at least 60 seconds), read on.

In my case on the two machines on which I attempted this it didn’t work. The browser-based install just hung even though I verified I have Java installed and the browser plugin is working.

If you don’t have Java installed, however, the browser-based installation will detect that and give you a download link for the installer. So what I did was in Firefox I went to Edit -> Preferences -> Manage Add-Ons -> Plugins and I disabled the IcedTea-Web Plugin, which is the Java plugin that Firefox ships with.

I then restarted Firefox and repeated the steps above, only this time on step 4 it detected I didn’t have Java installed and provided a link to the 64-bit installer. Download that file (, chmod +x it, run it, and you’re done.

I’m a little disappointed I didn’t have to the usual dance on this, but it finally just works.

Fix for Empathy AOL IM Login Issues on Ubuntu 11.10

I’ve installed Ubuntu 11.10 on my two System76 laptops (I have a Lemur and a Serval), and on both machines I noticed while I was configuring Empathy it wouldn’t log into AOL IM successfully.

After verifying I wasn’t fat-fingering my password I did some poking around and came across a post-install to-do list for Ubuntu 11.10 that fixed the issue for me. You can of course pick and choose which plugins to install, but I suspect just using the latest version did the trick. There were some on-again off-again bugs related to AIM and ICQ logins during 11.10 development.

Full details are in the linked blog post above, but here’s the basics:

sudo add-apt-repository ppa:telepathy/ppa
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install empathy

With the new version the AIM login issue immediately went away.


Manually Installing Java Plugin for Firefox on 64-Bit Ubuntu 11.10

Since I always forget how to do this I figured I’d blog it for my own purposes so I don’t have to sift through Google every time.

This assumes you have the JDK installed under /opt/java/jdk1.6.0_27 — adjust accordingly if you have things installed elsewhere or only have the JRE.

Open up a terminal and do this:

cd /usr/lib/mozilla/plugins
sudo ln -s /opt/java/jdk1.6.0_27/jre/lib/amd64/

Then restart Firefox if it’s running.

Now to look into doing this for Chrome …

Setting the Initial Root Password for MySQL on CentOS

I was setting up a new CentOS server tonight and installed MySQL via yum. If you’re familiar with installing MySQL via apt-get on Debian-based systems, you’ll know that during the install it prompts you to set the MySQL root password. Not so on CentOS.

When I’ve installed MySQL on CentOS in the past, I could have sworn the default root password was blank, and that right after the installation is complete you set it like so:

mysqladmin -u root password NEW_PASSWORD

Either my memory is foggy, or something’s changed with how this is done. No matter what I tried I kept getting “access denied” messages from MySQL and of course since I never set a root password, I have no idea what it wants from me.

Luckily there’s a solution, at least one that worked for me, though I still feel like I may be missing something so although this worked, I’m happy to be told there’s a simpler way.

First, make sure no MySQL processes are running:

killall -9 mysqld

Next, start MySQL in safe mode and have it skip grant tables:

/usr/bin/mysqld_safe --skip-grant-tables &

This will let you get in as root without a password. After the process starts, log in and use the mysql database:

mysql -u root mysql

Next, set the root user password:

update user set password=PASSWORD('new_password') where user='root';

It should say 2 or 3 rows affected. Finally, flush the privileges:

flush privileges;

Quit MySQL, and then you’ll want to kill the process you started with mysqld_safe and start the regular MySQL process. You can either bring the process you started earlier by typing ‘fg’, hitting enter, and then hitting ctrl-C to kill it, or you can do a ps -wef | grep mysqld to find the process ID and kill it as per usual.

Finally, restart MySQL and test your new root password:

/etc/init.d/mysqld start
mysql -u root -p

When it prompts you for the password, enter the password you set earlier and you should be logged in successfully.

Note this process also works if you’ve forgotten the MySQL root password.

Hope that save someone else a bit of time, and as I said earlier, I’ll be very happy if someone has a better explanation of why I wasn’t able to log in without a password on a fresh MySQL install on CentOS.

Apache Error “Document Root Doesn’t Exist” on Red Hat Enterprise LinuxWhen the Document Root DOES Exist

I upgraded one of our Red Hat Enterprise Linux VMs to Tomcat 7.0.4 tonight, did a bit of Apache reconfiguration, and when I restarted Apache I got a “document root doesn’t exist” error even though in fact the document root does exist. (Trust me Apache, it’s there.)

I double-checked the owners and permissions of all the directories in question and everything was identical to how things are set on another RHEL VM in this cluster on which I haven’t upgraded Tomcat and done the reconfiguration yet. I was at a bit of a loss, so I googled around a bit and the prevailing sentiment seemed to be this was related to either A) a config file copied from a Windows box and the line breaks were throwing things off (wasn’t applicable in my case), or B) the fact that SELinux was enabled.

If you’ve been around the Red Hat flavors of Linux long enough you’ll remember that SELinux used to be absolutely horrible. For years the very first thing you had to do on Red Hat and Fedora to get anything working at all was turn SELinux off, and for a long time I believe it was even Red Hat’s recommendation under their breath to just shut it off. It’s gotten better over the years, and honestly stays out of the way to the point where I’d almost forgotten about it.

Since I didn’t have anything else to try, however, I went into /etc/sysconfig/selinux and changed SELINUX=enforcing to SELINUX=disabled, restarted the server, and voila the complaining from Apache went away.

What I still don’t get is A) why this isn’t occurring on my other RHEL box with the same setup, and B) why it just started happening now. The only potential weirdness here is that my document root is a symlink, but again, it’s been that way since I setup up these boxes originally and it hasn’t been an issue.

So if you run into this same problem the fix (at least until I have more information about why it’s happening) is to disable SELinux, but if anyone has more ideas about why this might be happening I’d love to hear them.

Fix for Eclipse Menu Issues in Ubuntu 10.10 Netbook Edition

This is but one of the many,many reasons I love free software.

In my previous post about Ubuntu 10.10 Netbook Edition I pointed out there are some issues with the menus in some applications, which in my case I ran into with Eclipse (actually SpringSource Tool Suite). I posted to the Ubuntu Forums and in no time a kind user pointed me to this bug report (which I somehow missed in my searches before posting to the forums), and also provided the fix for the issue which is simple enough. Basically you just have to tell Ubuntu not to use its own menus when you start the application, so from a terminal you do this to start the app:

UBUNTU_MENUPROXY= /home/mwoodward/sts/STS

Note that there is a space after the equals sign. Of course if you’re having this issue with another application you’d just substitute the path to that application where I have /home/mwoodward/sts/STS And you can obviously throw this into a launcher script so you don’t have to remember to type this every time.
I was also having problems with the menus on UltraEdit so I was happy to see this fix resolved those issues as well. With a workaround for this issue I now give the Unity interface a grade of a nice solid B as opposed to the C I gave it in my previous post. There are still some quirks here and there but at least now I can use STS without any issue.

I’m always amazed, yet never surprised, at the excellent support available from the community of free software projects. With commercial software you pay for support, and in my experience it isn’t very good as a rule, but with free software you have legions of users at the ready to help other users, and you can also pay for commercial support if you so need or desire.

What’s not to love?

Thoughts on Ubuntu 10.10 Netbook Edition

This isn’t intended to be a full-blown review since there are plenty of those out there, but while I was installing Ubuntu 10.10 Netbook Edition on my Asus 1000HE this weekend, I thought I’d jot down my basic thoughts.


A+++. Absolutely amazing. 25 years later Windows still doesn’t even come close to having such a fantastic installation process. Fast, clean, and flawless. Couldn’t ask for anything better.

Boot Time
Notably faster than 10.04 on my netbook. My main laptop has a solid state drive and already boots up in about 7 seconds with 10.04, so I can’t wait to see if 10.10 makes a difference on that machine.

Ubuntu Font
Ubuntu ships with a new default font called (not surprisingly) Ubuntu. It took some getting used to at first, but I like it! Very readable and easy on the eyes, not to mention Ubuntu-sheik styling.

Unity Interface
I have to give Unity about a C for the time being. The idea of it is awesome, but there are a lot of idiosyncrasies and display issues.

For example, Eclipse flat-out doesn’t work because the entire top menu bar in Eclipse doesn’t appear. There are also many applications (UltraEdit being one example) on which there are too many menu items across the top for the Unity interface to handle correctly, so they spill over into the notification icons on the right-hand side of the screen. (See screenshots for some examples.)

It’s not so bad that I’m going to uninstall 10.10, but I really hope they address the issues soon. If I had to use Eclipse on a regular basis on my netbook I’d simply have to move over to Crunchbang or Easy Peasy, or back to Ubuntu 10.04 which ran Eclipse just fine.

Unity also seems just a bit sluggish on my 1000HE. Not to the point where it’s irritating to use, and a VAST improvement over some of the release candidates. I was using RC1 a few weeks ago and the entire machine was horrendously slow, so if you tried an RC and were turned off by the performance, rest assured they fixed that issue for the most part. Seems just a bit more slow than 10.04 when doing certain things, but overall the performance is acceptable.

Software Center

Huge success here. Software Center got a major upgrade both visually and in terms of functionality. I still do most of my installs in a terminal, but Software Center is a real treat to use. Search and categorization is better and when installing a .deb, there’s a very nice progress bar and clear notification of when the install is complete. It’s a lot more easy to use and clear, particularly for less technical users.

Other Random Thoughts

  • 10.10 is a bit more locked down than 10.04 was in terms of customization. If you like doing a lot of customization to your desktop, menu items, etc. this probably isn’t the distro for you. Adding a launcher for programs you install yourself, for example, simply isn’t possible from what I’ve seen because you can’t customize the launcher directly, and not all programs support the “Keep in launcher” option when you right-click in the launcher after starting the program from a terminal. This isn’t really a criticism per se since if all you want to do is surf the web and read your email 10.10 is fantastic for that, but if you’re more of a hacker with your machines, look elsewhere.
  • Ubuntu One got some really nice new features that I haven’t had time to dig into just yet. Definitely notice fewer random “your login failed” type issues so they’ve clearly been focusing a lot of attention here.
  • The Ubuntu One music store is really awesome. I still have to jump over to’s MP3 store for some things that Ubuntu One doesn’t have, but overall it’s really nice and incredibly usable.
  • The social features in 10.10 seem about the same to me as on 10.04, with maybe just a bit more polish. Note that if you rely on using Gwibber for interfacing with Facebook (which I don’t), there is a bug that is preventing a lot of people (myself included) from being able to successfully add their Facebook accounts to Gwibber. Facebook *chat* works fine in Empathy, but Gwibber has issues.

Overall this is another great release from Ubuntu. If any of the annoyances I’m outlining here are dealbreakers, just stick with what you have for now. The new features are nice, and I like upgrading every six months to have the latest and greatest, but I’m not sure this is a “must have” upgrade. To be fair the .10 releases aren’t really supposed to be “must have” since they don’t have long term support (LTS) like the .04 releases, but there’s enough here to warrant an upgrade if you’re not put off by a couple of glitches here and there.

Will I upgrade my main laptop with Ubuntu 10.10 desktop? Still debating on that one. Short answer is “probably” since I doubt I’ll run into the display issues with Eclipse, and my main laptop is in need of a scrubbing anyway. And if I can brag to all my friends that my laptop boots up in 5 seconds instead of 7, all the better.

Installing OpenConferenceWare on Ubuntu

I’ve been working a soon-to-be-released app called “OpenCFSummitWare” (a.k.a. “Engage” but that name was taken on Google Code) for a while now, and it’s the application we’ll be using to manage proposals, scheduling, and attendee information for OpenCF Summit.

The inspiration for the application is the excellent OpenConferenceWare that was created for the Open Source Bridge conference. Obviously we want to run a CFML conference on a CFML app, but it saved me countless hours by having an extremely strong model on which to base our new application.

OpenConferenceWare is written in Ruby, and since I have zero experience with Ruby (at this point anyway) it took a bit of work to install the app and get it up and running. With a bit of help from the OpenConferenceWare Google Group and some tenacity I got it running, so I thought I’d share the step-by-step process here.

Note that this assumes you’re starting with a clean system or at least one that hasn’t ever had Ruby (and some of the other tools outlined below) installed on it. You can do this all in one shot, and probably in a much more logical order, so what you see here is the step-by-step I went through as I ran into missing items while trying to install OpenConferenceWare. (Note that I am * not* doing the optional MySQL database steps, so I think it uses SQLite by default.)

  1. Install git:
    sudo apt-get install git
  2. Clone the OpenConferenceWare git repo:
    git clone git://
  3. Install Ruby:
    sudo apt-get install ruby
  4. Install Ruby Gems:
    sudo apt-get install rubygems1.8
  5. Install additional tools necessary for building and compiling:
    sudo apt-get install ruby1.8-dev build-essential gcc autoconf libtool
  6. Install the MySQL development libraries:
    sudo apt-get install libmysqlclient-dev
  7. Install XML/XSLT libraries:
    sudo apt-get install libxml2-dev libxslt1-dev
  8. Install SQLite3 libraries:
    sudo apt-get install libsqlite3-dev
  9. Install rake:
    sudo apt-get install rake
  10. Install the bundler gem:
    sudo gem install bundler
  11. Install the MySQL gem:
    sudo gem install mysql
  12. Create a symlink to the bundle command:
    sudo ln -s /var/lib/gems/1.8/bin/bundle /usr/local/bin/bundle
  13. Go into the openconferenceware project directory you cloned in step 2 above:
    cd openconferenceware
  14. Install the necessary libraries for the application:
    bundle install
  15. Update the styles:
    rake bridgepdx:styles
  16. Set bridgepdx to be the default theme.
    1. Navigate to openconferenceware/config
    2. Create a new file called theme.txt
    3. Add the following line to theme.txt:
    4. Save the file
  17. In the openconferenceware directory, create the databases:
    rake db:create:all
  18. Finish the database creation, populate database with sample data, and set the admin password:
    rake setup:sample
    (If you don’t want any sample data, just do rake setup instead of rake setup:sample)
  19. Startup the app:
    ruby script/server
  20. Navigate to http://localhost:3000/admin and log in!

Pay special attention to step 16 if you’re getting an error along the lines of “bridgepdx theme broken”–that simply means you haven’t set a default theme in openconferenceware/config/theme.txt

Final note: this setup is intended for running on a local development box, not for production! If you’re interested in additional performance and security settings for production, make sure and check out the installation instructions on github.

Thanks to Igal and the entire team for such a great open source conference management app on which I could model the app we’ll be using for OpenCF Summit!

HOWTO: Setting Up a New Ubuntu GNU/Linux Box for Java/CFML Development

Since I wind up doing this every six months with each new release of Ubuntu, I thought this time around I’d document how I set up an Ubuntu GNU/Linux box for Java and CFML development. This is partly so I don’t scratch my head thinking “was there anything else?” next time, but mostly for people who want to dive into GNU/Linux from another platform and need a quick step-by-step guide to help them get productive quickly.

Note that if you’re setting up an Ubuntu server, the server-related stuff that follows (Apache, Tomcat, and MySQL) will be pretty much the same on a server as it is on a dev machine with a couple of differences. First, you’ll want to have Tomcat autostart at boot on a server (which I don’t do on my dev machine). Second, and this is a matter of personal preference, I tend to put Tomcat in my home directory on my dev box, but in /opt on the server.

So open up a terminal and let’s the the easy apt-get stuff out of the way first.

sudo apt-get install apache2

sudo apt-get install mysql-server mysql-client


sudo apt-get install vim emacs

You can also install Java and Tomcat via apt-get, but I prefer to download these items directly from their respective sources. We’ll start with Java.


  1. Open a browser and go to (sorry Oracle, I’m not using your URL until you turn this one off!)
  2. Mouse over “Downloads” and click on “Java for Developers”
  3. Scroll down a bit on the next page and click on the “Download JDK” button (you’ll want the full JDK, not just the JRE)
  4. On the next page, click on the Platform button and choose either “Linux” (32-bit) or “Linux x64” (64-bit) as appropriate for your machine. Then scroll down and hit the “Continue” button.
  5. Under “Available Files” on the next page, click on the .bin file, not the .rpm.bin file.
  6. After the download completes (and I’m assuming you downloaded to your Downloads directory), open a terminal and do the following, hitting enter after every line (note the file name may be different based on the version you download):
    cd ~/Downloads
    chmod +x jdk-6u22-linux-i586.bin
  7. You’ll see all the files extract, and you’ll wind up with a jdk1.6.0_22 directory (or perhaps something different based on the version you downloaded). Personally I like to have Java in my /opt directory, so if you want to follow suit, type the following in your terminal (again hitting enter after each line):
    sudo mkdir /opt/java
    sudo mv jdk1.6.0_22 /opt/java


With Java in place, I like to set a couple of variables in .bashrc to make Java and Java applications a bit easier to work with. Navigate to your home directory (cd ~/) and open up .bashrc in vi or your favorite editor. Note that if you’re new to GNU/Linux, the . before the file means it’s hidden, so you won’t see it in a plain old ls, but of course ls -a will show it.

With .bashrc open, scroll down to below the HISTSIZE and HISTFILESIZE lines (at least that’s where I put this stuff), and you’re going to add the following lines:

export PATH
export JAVA_HOME

Save the file, and then you’ll have to log out of your terminal and log back in for these settings to take effect. Type exit and then hit enter to close your terminal, and then re-open the terminal. To make sure your settings took, type the following in your terminal, hitting enter after each line:

echo $PATH

You should see the Java directory included in your path, as well as see it for the value of JAVA_HOME.

Note that by editing .bashrc the changes only affect your user. If you want these settings available to all users, you’ll be editing /etc/profile instead.

With Java in place, let’s grab Tomcat. You can of course substitute a different JEE server or servlet container if you’re so inclined, but if you do you’re on your own for the setup. 😉

  1. Go to in your browser.
  2. On the left-hand side under “Download” click on the latest version, which is currently Tomcat 7. (Note that Tomcat 7 is still technically in beta if you care about such things.)
  3. On the download page, scroll down a bit and under “Core” click on the .tar.gz link.
  4. After the file downloads (again assuming you have downloads go to your Downloads directory), in your terminal do the following (hit enter after each line):
    cd ~/Downloads
    tar -xvf apache-tomcat-7.0.2.tar.gz
  5. You’ll see the files extract, and at the end of that process you’ll have an apache-tomcat-7.0.2 directory in your Downloads directory. I prefer to have that in my home directory on my dev boxes, so type this in your terminal and hit enter (assuming you’re still in your Downloads directory):
    mv apache-tomcat-7.0.2 ../
  6. Next to make Tomcat a bit easer to access, we’ll add a symlink called tomcat that points to the real Tomcat directory. More terminal stuff:
    cd ../
    ln -s apache-tomcat-7.0.2 tomcat

With all that in place you can now access the Tomcat directory structure via ~/tomcat which I find pretty handy.

Next we need to configure Tomcat a bit, so in your favorite text editor, create a file in Tomcat’s bin directory. If you want to do this in your terminal with vi, type the following:

cd ~/tomcat/bin

What we’ll be adding to this file is some settings that Tomcat will use when it starts up. Depending on your machine and/or preferences you may want to adjust the memory settings, but if you aren’t sure what this stuff does, these are decent generic settings and you can always change them later.
Add these two lines to and then save the file:

export JAVA_HOME=/opt/java/jdk1.6.0_22
export CATALINA_OPTS="-Xms512m -Xmx1024m -XX:MaxPermSize=384m"

Again if you know what you’re doing here, feel free to change your memory settings accordingly.
You should now be able to fire up Tomcat without any errors, so navigate to ~/tomcat/bin in your terminal and type ./

You’ll see a few lines spit out to the terminal, and if you don’t see errors, open up a browser and go to http://localhost:8080 If you see the Tomcat welcome screen you’re good to go.

Note that I won’t be covering additional Tomcat configuration here, particularly hooking it into Apache, because there are a ton of other howtos and blog posts about that very topic. If you have specific questions in this area I’m happy to help, so comment below and I’ll either comment or write another blog post as necessary.

There’s one additional bit of configuration I tend to do because particularly on a dev box, you’ll run into a problem with this sooner or later if you abuse your machine like I do.

In a terminal (you and your terminal are friends by now, right?), or using your favorite text editor, you’re going to edit /etc/security/limits.conf to increase the maximum number of files your user can have open. Open that file and add the following lines to the bottom of the file:

yourusername soft nofile 10000
yourusername hard nofile 10000

Unless you already have a favorite Java IDE, much as it’s not in fashion to say so I’m a big fan of Eclipse. I personally have been using SpringSource Tool Suite (STS) for quite a while now, and it’s a great Eclipse-based IDE for Java, Groovy, Grails, and of course CFML development once you throw in CFEclipse.

After downloading the Eclipse or STS of your choice, extract the files and then move them to your home directory (at least that’s where I put them). This should be old hat by now–in your terminal do:

cd ~/Downloads
tar -xvf NAME_OF_FILE_HERE.tar.gz

STS has a bit of a different directory structure since it comes with tcServer and Roo, so you’ll actually go into the directory and be moving the STS directory into your home directory. Since it has a long name like springsource-tool-suite-sts-2.3.2-RELEASE or something like that, I tend to move and rename to something shorter, e.g.:


Once things are moved, you can go into the directory that you moved to your home directory (which will be either sts or eclipse most likely), and then type either ./STS or ./eclipse to launch the program.

Although you can certainly start STS or Eclipse from the terminal if you like, most people tend to like to have a pretty button to click on to launch the program. The bad news is you have to add this yourself. The good news is it’s very easy.

  1. Right click on the Ubuntu logo in the top left of the screen, and click on “Edit Menus.”
  2. Click on “Programming,” and then click on “New Item” on the right-hand side of the window.
  3. Leave the type drop-down set to “Application”
  4. For “Name” type whatever you want the name to be (e.g. Eclipse, SpringSource Tool Suite, whatever)
  5. For “Command” you need to tell the launcher not only where the executable is, but also where to find Java. So assuming your executable is ~/eclipse/eclipse you’d enter the following in the Command box:
    /home/yourusername/eclipse/eclipse -vm /opt/java/jdk1.6.0_22/bin
  6. You can leave the “Comment” box blank, but if you enter something here it’s what will show up when you mouse over the icon for the application.
  7. Click on the “spring”-looking icon in the left-hand side of the Create Launcher box and you can choose an icon. Note that they’re kind of in a weird format. STS comes with its own icon so you can navigate to the STS directory and select the icon.xpm file. If you’re using Eclipse you can search for ‘eclipse icon launcher ubuntu’ on the interwebs and find stuff you can use.
  8. Click OK and your launcher will be added to the Programming menu when you click on Applications in the top left of the screen.


If you’re a CFML developer you likely already know how to install CFEclipse and since Eclipse is Java based it’s the same on every platform. If you’re not familiar with installing CFEclipse, head on over to the web site and you’ll find great instructions.

That’s pretty much it! You’re now a hard-core Java/CFML developer on GNU/Linux, other than all that pesky Tomcat/Apache configuration of course. As I said earlier if you need help with that, comment below and I’ll do my best.