0743.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <!DOCTYPE html>
  2. <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Install Easy!Appointments on Linux [Opensource Appointment Scheduler System]</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <meta charset="UTF-8">
  7. <meta name="keywords" content="Browser Based,Home Lab,Home Lab Ideas,Install Guide,Self-Hosted,Web Based,Web Based Tools,Easy!Appointments,Scheduling Application,Apache HTTPD,MySQL,MariaDB,LAMP,Linux,Debian,PHP,How To,Tutorial,i12bretro">
  8. <meta name="author" content="i12bretro">
  9. <meta name="description" content="Install Easy!Appointments on Linux [Opensource Appointment Scheduler System]">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <meta name="revised" content="06/05/2022 01:15:23 PM" />
  12. <link rel="icon" type="image/x-icon" href="includes/favicon.ico">
  13. <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
  14. <script type="text/javascript" src="includes/js/steps.js"></script>
  15. <link href="css/steps.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="gridContainer">
  19. <div class="topMargin"></div>
  20. <div id="listName" class="topMargin">
  21. <h1>Install Easy!Appointments on Linux [Opensource Appointment Scheduler System]</h1>
  22. </div>
  23. <div></div>
  24. <div id="content">
  25. <h2>What is Easy!Appointments?</h2>
  26. <blockquote><em>Easy!Appointments is a highly customizable web application that allows customers to book appointments with you via a sophisticated web interface. Moreover, it provides the ability to sync your data with Google Calendar so you can use them with other services. It is an open source project that you can download and install even for commercial use. Easy!Appointments will run smoothly with your existing website as it can be installed in a single folder of the server and of course share an existing database. -<a href="https://github.com/alextselegidis/easyappointments#about" target="_blank">https://github.com/alextselegidis/easyappointments#about</a></em></blockquote>
  27. <h2>Installation</h2>
  28. <ol>
  29. <li>Log into the Linux device</li>
  30. <li>Run the following commands in a terminal window:
  31. <div class="codeBlock"># update software repositories<br />
  32. sudo apt update<br />
  33. # install available software updates<br />
  34. sudo apt upgrade -y<br />
  35. # install prerequisites<br />
  36. sudo apt install curl wget zip -y<br />
  37. # install Apache HTTPD and MySQL<br />
  38. sudo apt install apache2 mariadb-server mariadb-client -y<br />
  39. # install PHP components<br />
  40. sudo apt install php7.4 php7.4-curl php7.4-common php7.4-json php7.4-mysqli php7.4-mysql -y<br />
  41. # configure the MySQL database<br />
  42. sudo su<br />
  43. mysql_secure_installation</div>
  44. </li>
  45. <li>Press Enter to login as root</li>
  46. <li>Type N and press Enter to not switch to unix socket authentication</li>
  47. <li>Type Y and press Enter to set a root password, type the password twice to confirm</li>
  48. <li>Type Y and press Enter to remove anonymous users</li>
  49. <li>Type Y and press Enter to disallow root login remotely</li>
  50. <li>Type Y and press Enter to remove the test database</li>
  51. <li>Type Y and press Enter to reload privilege tables</li>
  52. <li>Run the following command to login into MySQL:
  53. <div class="codeBlock">mysql -u root -p</div>
  54. </li>
  55. <li>Authenticate with the root password set earlier</li>
  56. <li>Run the following commands to create the Easy!Appointments database and database user
  57. <div class="codeBlock">CREATE DATABASE easy_appointments;<br />
  58. GRANT ALL ON easy_appointments.* to &#39;easy_appointments_rw&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;EasyAppo1ntm3nts!!&#39;;<br />
  59. FLUSH PRIVILEGES;<br />
  60. EXIT;<br />
  61. exit</div>
  62. </li>
  63. <li>Continue with the following commands:
  64. <div class="codeBlock"># fetch the latest download URL<br />
  65. regex=&#39;&quot;browser_download_url&quot;: &quot;(https:\/\/github.com\/alextselegidis\/easyappointments\/releases\/download\/[^/]*\/easyappointments-[^/]*\.zip)&quot;&#39; &amp;&amp; response=$(curl -H &quot;Accept: application/vnd.github.v3+json&quot; https://api.github.com/repos/alextselegidis/easyappointments/releases/latest) &amp;&amp; [[ $response =~ $regex ]] &amp;&amp; downloadURL=&quot;${BASH_REMATCH[1]}&quot;<br />
  66. # download the latest release<br />
  67. wget -O easyappointments.zip $downloadURL<br />
  68. # create target directory<br />
  69. sudo mkdir /var/www/html/easyappointments<br />
  70. # extract the downloaded zip to /var/www/html/easyappointments<br />
  71. sudo unzip ./easyappointments.zip -d /var/www/html/easyappointments<br />
  72. # set the owner of the easyappointments directory<br />
  73. sudo chown -R www-data:www-data /var/www/html/easyappointments<br />
  74. # copy sample config file<br />
  75. sudo cp /var/www/html/easyappointments/config-sample.php /var/www/html/easyappointments/config.php<br />
  76. # edit config.php<br />
  77. sudo nano /var/www/html/easyappointments/config.php</div>
  78. </li>
  79. <li>Scroll down to the const BASE_URL variable and set the value to the IP address or DNS name of the host
  80. <p>const BASE_URL = &#39;http://localhost/easyappointments&#39;;</p>
  81. </li>
  82. <li>Press CTRL+W and search for db_name</li>
  83. <li>Update or add the following configuration
  84. <p>const DB_HOST = &#39;localhost&#39;;<br />
  85. const DB_NAME = &#39;easy_appointments&#39;;<br />
  86. const DB_USERNAME = &#39;easy_appointments_rw&#39;;<br />
  87. const DB_PASSWORD = &#39;EasyAppo1ntm3nts!!&#39;;</p>
  88. </li>
  89. <li>Press CTRL+O, Enter, CTRL+X to write the changes</li>
  90. </ol>
  91. <h2>Easy!Appointments Web Installer</h2>
  92. <ol>
  93. <li>Open a web browser and navigate to http://DNSorIP/easyappointments</li>
  94. <li>The Easy!Appointments Installation web installer should be load</li>
  95. <li>Complete the Administrator and Company form fields &gt; Click Install Easy!Appointments</li>
  96. <li>Welcome to Easy!Appointments</li>
  97. </ol> </div>
  98. </div>
  99. </body>
  100. </html>