This page describes how to install TeamPass on a Linux server.
Apache server
If you already have an Apache server installed with PHP and MySQL, then you can jump to next chapter. Otherwise, it is recommended to install XAMPP for Linux.
Please follow installation of XAMPP on ApacheFriends.org.
Prepare Database
- Open PhpMyAdmin
- Select tab called “Databases”
- In the “Create new database” section, enter your database name (for example “teampass”) and select “UTF8_general_ci” as collation.
- Click on “Create” button
Get TeamPass
Once your Apache server is running, download TeamPass.
Unzip the file into your localhost folder (by default it is /opt/lampp/htdocs) using command (unzip teampass.zip -d /opt/lampp/htdocs)
Set MySQL database Administrator
We’ll now create a specific Administrator to this database
- Click on “localhost” in order to get back to home page
- Select “Privileges” tab
- Click on “Add a new user” link
- Enter the login information (I suggest to create a user “teampass_admin” for better understanding of what is this user)
- Do not give any rights/privileges at this level of the user creation
- Click on “Go” button
Now it’s time to set some privileges to this user.
- From Home page, click on “Privileges” tab
- Click on “Edit privileges” button corresponding to the ”teampass_admin” user

- Click on “Check All” link

- Validate by clicking on button “Go”
Set CHMOD on folders
- Open your terminal
- Point to htdocs folder (enter cd /opt/lampp/htdcos)
- Enter command chmod -R 777 teampass
Install TeamPass
- Open your web browser
- Enter url “http://localhost/teampass” or your specific domain
- Follow the several steps (here bellow the 3 first steps)
- Once installation is finished, you can use TeamPass on your Linux server.

Hi Nils.
At the step 6 of the installation, Teampass say this :
« You can delete “Install” directory from your server for more security, and change the CHMOD on the “/includes” directory. »
What authorizations must I set for the “/includes” directory?
Thanks…
Hi Emmanuel,
You can set CHMOD 0644 on files and 0755 on folders.
One exception is to set 0777 on “upload” folder.
You’re welcome
Hello,
I thinks that is hole of security make :
chmod -R 777 tempass_folder/
on Lamp !!
Just chmod o+w includes/ install/ files/ and when the end of installation :
rm -rf install/
chmod o-w includes/
that’s better, no ?
Patrick.
Yes you’re absolutely right.
I forget to add that at the end of install you should return to initial chmod.
I’ll improve that!
install.php on Linux fails on step #2, and no error message dropped anywhere… although database rights granted, mysql running & apache aswell…
Hello
Try reupload files, try also the credentials using phpmyadmin.
Something must be wrong in the configuration …
Same issue as Lionel here. All permissions correct, files re-copied multiple times, mysql user rights OK, Apache running and healthy (no errors from PHP thru apache either).
On stage two, once you’ve filled in the form and hit ‘launch’, using wireshark I can see the HTTP POST being sent (to install_ajax.php) with form details included and a HTTP 200 response back from the web server but the page doesn’t change or display any errors.
I’m trying to add debug code and it seems to get as far as the the mysql connect code, but never attempts a connection.
Anyone have any ideas?
Make sure that you have the MySQL PHP module installed and loaded. This resolved my problem with exact symptoms.
Sincerely,
Ryan
I installed Teampass. Everything went well. At the end I get
Step 6
Installation is now finished!
You can log as an Administrator by using login admin and password admin.
You can delete “Install” directory from your server for more security, and change the CHMOD on the “/includes” directory.
I cannot login using admin/admin
Any help there?
I keep seeing that 2 arrow animation after entering admin/admin . Nothing happens at all.
BTW I have not yet removed the “install” directory and have not even done any chmod after installation
FIXED!!!
PHP Fatal error: Call to undefined function json_decode() in /srv/www/htdocs/TeamPass/sources/main.queries.php on line 155, referer: http://10.x.x.x/TeamPass/
I install php-json module and it fixed it.
I see that you have corrected your problem alone … good.

Cheers
Hi,
cannot login with admin / admin after installation!
Why?
marx
Problem solved, had some strange characters in my SALT key…

Hello.
I still have same error on fresh install when trying to log in under ‘admin’, “Bad password for this account!”
# grep \@vers ./index.php
* @version 2.1
salt contain only [A-Za-z0-9] characters
PS
Your demo give same error
Hello Ivan,
Can you retry a complete install (deleting previous files, deleting DB, …)?
Concerning the Demo page, it was that password was changed by a user so unknown by us. I’ve blocked the admin password change now
Cheers
Hi,
attempting to install on an Ubuntu box but getting the “Impossible to get connected to server” error when configuring database credentials.
The database is setup as per the instructions above and I’ve verified the credentials by logging in via phpmyadmin. Any ideas?
Same error here on a Debian stable.
It seems there is something wrong with the AesCtr::encrypt and AesCtr::decrypt between install.php and install_ajax.php.
MySQL library and Mcrypt library for php are installed.
You’re right, the issue is password hashing. For anyone else having this problem (where teampass can’t connect to database during installation for any obvious reason, after checking the db is accessible, of course) the easiest way to fix is through phpmyadmin.
1. Login to phpmyadmin > Privileges tab
2. Click Edit Privileges for the teampass user
3. Scroll to the Change Password section, enter the password and check “MySQL 4.0 compatible” password hashing.
Hello,
Can you try with a more simple password for your mysql user?
I changed my password for a more simple with only letters (uppercase and lowercase) without number or symbol and the I have the same issue.
I modified the error message in install_ajax.php line 81 to display the password ($db_password) to check the value but the value displayed seems to be a hash and not the value in clear text.
If the issue is similar to mine, password complexity may not be relevant. After changing the hashing method in phpmyadmin my current password of 16 alphanumeric & special chars works fine, so it may be worth trying what solved it for me.
…and even if it doesn’t work, at least you can rule it out as a possibility :)
Indeed my issue was due to the hashing method in MySQL.
In the MySQL Shell I do : SET PASSWORD FOR ‘user’@'server_ip’ = OLD_PASSWORD(‘my_password’) and my problem is solved.
Thanks for your help.
hi to everybody!
i have the same problem during the install:
“Impossible to get connected to server”
i tried to create a mysql 4.0 compatible password => doesn’t work
i tried to connect as root => doesn’t work
i tried to give root a mysql 4.0 compatible password => doesn’t work
any idea???
i’m on debian 6 32bit
thanx!!!!!!
Have you confirmed that the db is accessible? Try creating a small PHP connect-or-die script to ensure it is.
thank you for the fast answer!
yes, i tried with such a script, and it works. the db is accessible.
any other idea?
No probs – those “WTF WON’T WORK” moments are the worst!
You could check folder permissions, the MySQL privileges for the user – Global, Database- and Table- specific (a mate once accidentally restricted his user to 1 request per hour and wondered why his app was so flaky!) or try setting the user to Any Host.
i even created a new user and granted him all the permission on all the DB from any host… tried via phpmyadmin, CLI, oldpassword, normal password…….
the worst part? i even installed another php application in a subfolder which is able to create its own db if you give him once the root password, and it works. teampass can’t even connect to the db server with the root credentials…
i’m about to hang myself on the top of one of our rack (but with a CAT6 cable, don’t worry…). i’m on this from the early morning…
thank you for your help!
haha no worries. Good you’re planning to use Cat6 though; Cat5 might not be able to support the same weight. It would be terribly embarrassing if your suicide attempt failed due to economy cabling!
I suppose that ultimately this is the real-world pro and con of open source; you can crack it open and see how it works, but if it doesn’t work, you have to crack it open to make it work!
Good luck!
thank you anyway!
Install on freebsd 8.3 (apache-2.2.22, php-5.4.7, mysql-5.5.27). Open, set dbname, user/pass, set smtp/mail, …. Installer say “OK. Open teampass”.
==
Warning: require_once(includes/language/.php): failed to open stream: No such file or directory in /usr/local/www/teampass/index.php on line 84
Fatal error: require_once(): Failed opening required ‘includes/language/.php’ (include_path=’.:/usr/local/share/pear’) in /usr/local/www/teampass/index.php on line 84
==
Why “$_SESSION['user_language']” is empty? Browser Opera-12.02, OS Win7 russian. English for teampass – not problem, but how?
Does this mean that when selecting English, it works, but when you select Russian, it doesn’t work? you confirm my understanding?