Kimai The Open Source Time-Tracking App | DIY Cloud

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
what's up guys this is josh one of your lenovo developer advocates and welcome back to another video and today i want to show you guys how easy it is to set up a keema server on lenovo so follow along with this video and i'll have you up and running in no time [Music] so before we get started i wanted to cover what exactly keema is kima is a free and open source time tracking application designed for small businesses and freelancers it basically tracks work time and you're able to print out summaries of the activities on demand and it's super cool because you can look at things yearly monthly daily by customer and by project it's basically a database and it allows you to query all that information that time information as it's entered into the system and you could do other cool things like create invoices you know from particular time sheets that you enter in and you can also track your working hours so it's a super cool application and i want to show you guys how to set this thing up on the node but before we do that one of the first things you need to do is set up a lenod account which is very easy to set up if you don't have an account you can check down in the description of this video for the link to get you started the sign up is super simple it's free and you will also receive a hundred dollar credit for the first 60 days after the account is created so let's head over to lenode so i can show you guys how to actually set up the schema server okay so once you have your lenovo account set up this is the main dashboard that you'll be greeted with after logging into your account and the first step in this process of setting up your kimi server is by creating a lenovo and one of the super cool features of lenode is they have what they call the marketplace which i won't be able to use it for this demonstration but i just at least wanted to show it to you guys but if you click on marketplace on the left hand side they have a whole bunch of pre-configured servers that you can just click and fill out all the information that you need to and it will have everything you need based on the requirements that you're looking for now basically what i need is a web server and they do have web server setups but i want to go down and create a custom one but they do have the lamp stack and then the limp stack so i'm gonna create my own custom server so i'm gonna go back up here to the top click on distributions and you can select whatever you want from there uh and what i wanna do is use ubuntu so let's scroll down and find ubuntu 20.04 ltes i'm gonna click on that and this is what i want to create my lenode on and we can walk through the process of setting it up uh you have to select your region so i'm in california so i'm gonna select fremont california or actually i'm on the west coast but california is the closest region to me so i'm gonna use fremont california and then after that here is the lenovo plans that you want to go through and set up or select uh and basically it's all dependent on your needs and this is basically the hardware setup so you can get a dedicated cpu they have different prices down here and it's all dependent on the hardware like i stated but i'm going to use a sharity cpu which is the cheapest because you're basically sharing that hardware with other users on the platform and i'll go with the cheapest version which is the nano you can use a lenovo gig a gig it's all dependent on your knees like i stated but i'm just using that note because that's all the hardware that i actually need for this demonstration because i'm going to delete this after this but i wanted to walk you through the process and at least show you all the options that you have so if we go down here a little further this is it says lenode label but this is actually the name of your server this will show up in your list of the nodes once you have the server set up and everything so what i'm gonna do is back ubuntu off of here and i'm gonna type keema on there and keema is spell k-i-m-a-i and that is the label i'm gonna use and i'm gonna just leave us west on there that's fine uh it doesn't matter and then you can add tags and this is just a way to separate out all your different lenovos that you have on your account now if we scroll down a little further uh here is the root password you want to go on and type in a strong password for your root account and then also you can set up ssh keys if you need to and then you also have some other options like setting up vlans and then they have backups for a little bit more money a month so two dollars per month they do backups for you and then also you just request a private ip address if you need to and that's only if you need it i'm not going to select it i don't need it so let's go down and hit create lenode and this will create our server it'll go through the provisioning process i'm going to close that because i don't want it to save that but it's going to go through the provisioning process and set up the server based on the requirements that we specify and then just a walk through a little bit it gives you a summary of what all you have so like i said i selected the nano it comes with one cpu core and this is shared and then one gigabit of ram and then 25 gigabits of storage for it and then here's my ip address so this is my public ip address and then this is the version 6 ip address and then this is how you access the server you can access it these two different ways right here and this is from your own personal terminal but they also have the lish console so you can click on that and that'll open up a console and you can actually manage the server directly from there as you can see it's already running it only took a couple seconds to actually provision the server and get it set up and running and so you have ubuntu running on this server and like i was saying right here that access right here it basically gives you the command to connect to it and all it's doing is uh putting together your root account and then the ip address you know the normal ssh connection that you type in into your terminal and you can quickly copy that and connect to your server using ssh from your terminal okay so now that we have the node up and running let's go down and connect to it and what i'm gonna do is connect to it via ssh from my terminal on my laptop okay so i have my terminal up let's go down and ssh into the server right fast and it's some certain things that i typically do on a new server when i set it up so let's log into it first and what i want to do is actually create a new account i always try to take create a sudo account or a regular user account because i don't like using the root account for everything so let's go down and do that first uh but what that was basically doing was adding the fingerprint to my local computer so the next time i log into the server you know it'll verify that it is the correct server that i'm logging into so let's log into the root account right fast and as you can see we're good to go i'm going to clear this but i'm going to quickly add a new user and i'm going to use the add user command and just type in the user account that we want to create and as you can see it acts for your password so you want to type in your password for your account uh retype it boom and then it'll go through you know the process of gathering information i'm not gonna put anything in there i'ma just put enter push enter and that'll you know put the defaults there so and then press y you know for yes boom we're good to go and now let's go down and uh add this user to the sudo group which is very simple so all we have to do is type user mod and then dash lowercase a capital g and then we want to add it to the sudo account and then we want to add that user account josh so let's press enter we get to go now let's test this account right fast so we can type sue dash josh and press enter and it'll log us into josh right fast so i'm just running these like a simple sudo command let's run sudo apps updates and let's update the system right fast just to verify that our sudo account actually works or our account actually has pseudo privileges and as you can see that was very simple to do doesn't take too long but uh it'll refresh the repositories right fast and then also we can run these updates right fast just to make sure we have a fully updated system uh and as you can see was just one package so we're gonna run through that update right fast and actually what i want to do is log out of it and then i want to exit out of the server and then now let's connect with that josh account uh and basically all i did was paste that same ssh command but i'm gonna type josh and it should have josh or it should have privileges to ssh yeah and we're good to go so we logged into the system as josh so let's clear the screen right fast and go ahead on and start the install of keema now like i stated earlier keema has to be installed on a web server so it's a couple packages we need to install just to get it going right fast uh and like i said i want a limp server so that's linux uh engine x mysql and php so i already have all these packages in the text file uh so i could paste them in right fast just so i don't make the video too long but sudo app install nginx and then it's also going to install mysql server and it's going to install php fpm php mysql that's a dependency that that helps php work with the my sql server and then get unzip and curl so let's press enter that will install those packages for us type in our pseudo password and then we can go through and install these packages and it doesn't take that long on these lenovo servers they're very fast um it connects to the repositories very quickly downloads the packages and then go through the install it's a very quick process so once it's finished uh we'll move on to the next step okay cool so the install is complete for that and let's just check the status of our engine server so we can type sudo uh system ctl and then let's type uh status and then engine x tab it out and press enter and as you can see it's enabled that lets you know it's enabled right there and it's active and running so we're good to go i'm gonna press q to quits but that lets you know engine x was installed properly and then also let's check uh my sql let's press the up arrow that'll bring up the command we just ran and just type mysql.service and press enter and as you can see it's enabled and running active and running on the system so we installed my sql you know properly so we get to go and move forward with the installation now next with php there are some dependencies i want to install right fast and i'll just run through and install those right fast and any of these commands that i'm running will be in the description of the video so you can quickly follow along with me so i'm not having to read out all these packages for you but these are all php dependencies and i also may have the other packages that i already ran but it doesn't matter if i run them again like php fpm and php mysql it doesn't matter if it's there again i'm just running i just had these packages uh pre-typed out so i could quickly install it for you guys but let's press uh y for yes and it will install all those dependencies for us make sure everything is on the server that we need in order to get kimi up and running now let's just go down and verify php right fast we could just type sudo uh system ctl and then status again and then php and i'm gonna tap it out it should pop up yeah 7.4 so boom press enter there we go and as you can see it's enabled right here so that means whenever you restart the server it will start php and it's the same for my sequel and engine x whenever it says enabled it will start up on boots and then also is active and running so let's press q for quits and move on to the next step and the next thing you want to do is set up your my sql database and one of the things you really want to do is secure it so i'm going to run through that process as well so all we have to do is type sudo and then my sql and then it's just built-in script for my sequel that allows you to secure the server and i'm gonna just type it out part of it and tab it out and then it should come up so sudo mysql underscore secure underscore installation so we press enter it's a couple options you want to run through right here i already have a root account set up so i'ma just type no there and one thing this is asking you if you want to turn on a component that improves security and this is basically uh validation of passwords that are created on the system i don't want to turn that on because it's going to make things a little bit more confusing being that i'm going to delete this account after here and after this and then also it says uh please set the password for the root account here and i forgot i didn't set up the password for the root account for the my sequel uh root account so i need to go down type in a password for that and press enter and we're good to go and let's run through these steps right here is basically we're removing anonymous accounts so you want to hit y for yes you want to remove that disallow roots log in remotely put y and then enter remove test database that's fine y enter and then reload privilege tables tables now and pr press y and enter and you're good to go and these are just some standard things that you want to do on your my sequels server that will secure it a little better it won't secure it 100 because there is some more things you could do to secure it a little better but this will get the base out the way for you now that that's done let's go down and log into the sql server and configure it for kimi and all we have to do is type sudo mysql and then that's you and then we want to specify the root account which is what we want to log in and then dash p for the password and that's basically telling my sql to ask me for my password so let's press enter type in our root account password boom and now we're logged into my sql and i'm gonna run through these queries uh just so i don't take too long but basically this is creating the database right here and i'm naming the database kimi underscore db so let's press enter that'll create that database for us and then now you want to create a user and basically what i named it was user kimi so let's put that in there but this is the command to actually do it is create user user kimi at localhost identified by the password so let's press enter there good to go and now let's grant the privileges to that database because all we did was create the account and create the database but now we need to grant the permissions for user kimi to that database so that's the query to run that and we're good to go so now we can flush the privileges and this is basically just to verify that the database that manages all the user accounts is refreshed uh with the latest data and then now we can exit out of my sql so we have my sql 100 set up for keema and one thing about it you want to make sure you write down the password or make sure you have that password somewhere because you're going to need it during the installation of keema you're also going to need the database name so remember that document that as well as the user account that we created you need all of that to actually finish the install okay cool so the next thing we want to do is install composer and i'm gonna run through these process we can install everything here but i'm gonna just run through the commands but this is basically curl command downloading the composer installer for us boom good to go and this right here is actually installing it right here so sudo php composer setup.php and you'll see it go through the process of downloading and setting up composer on the system okay cool so it kind of failed right in there but it retried and finally got it maybe it was a a glitch in connecting to the server where composer stored but we're good to go there now so let's run another command this php command so we can run it right fast and this is basically just a setup so it'll go through this process as well all right cool so that's completed successfully it didn't take too long uh but let's run one more command and then we should be done with setting up composer but this is basically unlinking uh a file so we get to go there and then now let's change the composer. uh pha or uh as executable so we have to run chmod make that executable and since it's in my home directory uh we don't have to type sudo just so you guys know but we have to type sudo in order to move that composer.php a or to the user bin composer directory so let's type that in right fast and press enter and we're good to go so we have it over there composer is successfully installed on the system now we can go through and install keema and the way you do that first thing you want to do is actually get over to your in jinx directory or your web servers directory where it serves out files which is located under var www and www boom press enter and now let's clone uh the latest version of chemo and i'm gonna just use the sudo git clone that way we can clone it to that directory because that directory is currently owned by the root account i believe but we'll fix that a little later in the process uh but let's press enter and that'll clone down all the files for us and now we're good to go now let's cd to the keema directory right fast so we can make a couple changes to it as well as install it using composer because that's the whole purpose of his us installing composer on the system and so we can install keema in that directory so let's type ki mai2 that's the directory where all the files are stored and so we're in that directory now let's go through the install process and it's a very simple command sudo composer install and i'm gonna type i'm gonna just paste it in there but that's how you actually install it right there boom and we're gonna run through this it's gonna download all the packages that it needs and install everything in that location boom and as you can see right there it ran the script fine you know there was like a little uh warning writing here but everything seemed to install properly i don't see any errors or anything right there so we're good to go now let's go in and configure it a little bit and we have to this is where the database information that we had is needed so let's type sudo nano and then there's the an environment file in there so it's evn dot even it's a hidden file that's why it has the dot in front of it or and actually i typed it in wrong e n v and press enter and that'll get us in this file where we can add the database information so let's log into it and if you look right here on the first line that's uncommented out it says database uh so url mysql all you have to do is change the user name and the password now i know what the password is it's a capital p and then a one on the end of it but we also need to change that user account up there and it's simply user and then keema boom and make sure you type it in rights which i didn't i put a l in there but keema so use a keema and then you specify the password which is that password that we put in there i had capital p capital p on password and then one at the end of it and then right here where it says database this is where you would actually want to put that database so all we have to do is type keema uh underscore db that's what i named my database you just put whatever you name the database in right there and you get to go so we done with this actual com file we don't have to make any more changes to the system so let's press uh control x uh and then y for yes to save those changes press enter and we're good to go we saved those changes we put the database information in that file now we can actually finish the install of keema so we want to stay in that same location on the server but let's run the console right fast so i'm gonna paste it in there right there especially ben console and then comment install keema uh colon install dash in press enter that'll go through and finish and what this is basically doing is creating all the tables in the database as you can see it didn't take much that long to actually do it as you can see it kind of went through everything right there but the only problem i'm seeing right here says fair fail to clear cache unable to write in the void www chemo for cash pride directory so that don't worry about that uh you may see that you may not see that but you should be good to go as long as you see the congratulations successful install of kimi version 1.14.1 you get to go so you don't have to do anything else after that or for that era that popped up here so just ignore it and keep moving forward and the next thing you want to do is actually create an admin account for the server or for the keema server right fast uh and this is just so you can basically manage the server create user accounts and all that stuff i'm gonna use some default information uh you wanna kind of specify really what really some true information like for instance the email address i have admin at example.com but this is the account that is actually creating is creating the admin account and then i just gave it some random email address for it and then i wanted to give it the role of super admin so if we press enter this will access for our password for our account that we are creating and you want to make sure you remember what the what you name that as well as the password as soon as you do that you're good to go now there are some permission changes that you need to make to certain folders in this directory so you want to stay in the same directory for www keema but uh i'm gonna just paste them in there just to make it super quick but sudo ch own you want to change this the ownership to www data as the group right there and then we can do a ch mod on all the files in here and this will you know make some changes to it uh all the way down and it's using recursive so that'll go through and change all those permissions throughout all the directories within the directory that you're specifying so you're good to go and then also right here we need to change some more permissions as well so and like i stated i'm gonna have all these commands down in the description in the video if i can um and we're good to go right there so that's all the permissions we need to change for the server now the last step is actually setting up engines so let's cd from this directory we don't need to be in the vora wwe w directory anymore uh all of our next commands are going to be for engine nginx i keep saying n jinx but nginx so we could type sudo nano and i want to make these changes under etc or i want to create this file under ecc injinx and then sites available and this is basically setting up a virtual host so i'm going to show you guys how to actually do that right now so sites and i didn't spell that right but sites available tab it out and then i want to name it kimi 2 and press enter and that'll create that file for us and i already had a configuration for the site so i'm just paste it in there like i've been doing with all the other commands but it's very simple config i'll kind of explain it to you guys so you guys can see what i'm pasting in there boom and let's paste it in there good to go so if we look through here uh i'll kind of show you right fast it's basically listening on port 80. uh this is the server name so kimi.local this is the location of the actual directory or the files for the website so that's the location and then it's just some more information down in here uh if you want to learn about setting up virtual hosting engine x there's plenty of documentation out there on setting it up but i just wanted to kind of make the video a little bit quicker but we're gonna save that configuration but that's good to go for our site and now the next thing you want to do is unlink the default site because right now the engine nginx site default site is up there we want to disable that so all we have to do is unlink unlink it uh from in the sites available directory so let's press enter that'll unlink that site so it won't show up and now let's link the kimi site uh and basically what i'm using is the ln command dash s and that'll link that file from sites available to sites enable which is where it's supposed to be in order for the site to actually work uh the virtual host so let's press enter good to go now let's go down and uh test the configuration just to make sure we don't have any syntax errors in there especially going to reload that configuration file for it and as you can see it says syntax okay but we have to type in our password in order to restart the server service so we're good to go so and it asks you to authenticate which is fine that's something that's built into engine x to prevent any anyone else from making changes now that's pretty much it for your server but since this is a public server if you set this up for a enterprise environment for people to actually connect to it and put in timesheets and all that stuff you kind of want this site secure so people can't sniff the web and find out information about your server so what you want to do is install a ssl cert on your web server and it's a very simple process i'm not going to do it because that'll require a little bit more work and like i said i didn't want to make this video like super long so i'm not going to go through that process but you can quickly look up how to do let's encrypt which will install your ssl cert and then it'll keep it up and running for you and then also it'll make changes to your nginx site configuration and it should work you know it'll rewrite all your changes so it'll redirect everything to a https connection but let's go down and test out the server right fast we can go to the ip address let me switch over to my browser again and this is our dashboard and what i want to do is grab the ip address and let's go down and uh type it in the browser and we should be good to go uh on logging into kema now let's uh log into that admin account and use our admin password that we created from the command line and we should be good to go and i'm not going to save that but this is the trunk time tracking software uh so i'm not going to show you how to actually use it i just wanted to go through and show you guys how it actually works but if you click right here on the dashboard you know it it has a lot of information just you know at a quick glance or whatever and right now you know it only has one user no customers no projects no activities and really no information in here but you can go through and start creating your user accounts um your customers your project she could do everything from here and like i said right here is the user accounts you know roles teams uh it also has a whole bunch of plugins for this actual application and as you can see this is running on my lenod my nano lenovo cloud platform which is super cool you know i really like lenod and i really recommend lenod i think they have an excellent platform to actually run your cloud applications and this is a perfect example just showing you guys how you can quickly set something up on the node and get it up and running now i really enjoyed this collab i look forward to working with lenod in the future but this is a great platform and i want you guys to really check it out and this video is to quickly show you guys that you can set up whatever you want on the lenovo cloud platform so i hope you guys enjoyed the video i hope you guys got something out of it and if you have any questions leave comments down in the comment boxes below and also like the video i definitely appreciate all the likes over here at lenovo and the support that you guys give to the platform but i hope you guys have a good day and peace [Music] you
Info
Channel: Linode
Views: 1,170
Rating: undefined out of 5
Keywords: linode, linux, cloud computing, alternative cloud, linux server, open source, sysadmin, time tracking, time tracking app, time tracking software, freelance time tracking, kimai, kimai time tracking, kimai time-tracker, toggl alternative, productivity, time tracking tool, online time tracking, linux time tracking app, keep productive, linux time tracker tool, time tracker dashboard, time management software, free time tracking, clockify alternative, kimai tutorial, kimai server
Id: qnd2BTgCS_k
Channel Id: undefined
Length: 32min 46sec (1966 seconds)
Published: Fri Oct 08 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.