0197.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <!DOCTYPE html>
  2. <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Host Your Own draw.io, Visio style diagram maker</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <meta charset="UTF-8">
  7. <meta name="keywords" content="Apache,Tomcat,Java,Self-Hosted,Web Based Tools,Web Based Utilities,FOSS,Draw,Diagram,Visio,Visio Alternative,Browser Based,Home Lab,Home Lab Ideas,Install Guide,Web Based,Debian,Free Open Source Software,Free Software,Linux,Open Source,Whiteboard,Whiteboarding,Draw.io,How To,Tutorial,i12bretro">
  8. <meta name="author" content="i12bretro">
  9. <meta name="description" content="Host Your Own draw.io, Visio style diagram maker">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <meta name="revised" content="03/23/2023 08:21:25 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>Host Your Own draw.io, Visio style diagram maker</h1>
  22. </div>
  23. <div></div>
  24. <div id="content">
  25. <h2>What is Draw.io?</h2>
  26. <blockquote><em>draw.io is a configurable diagramming/whiteboarding visualization application. -<a href="https://github.com/jgraph/drawio" target="_blank">https://github.com/jgraph/drawio</a></em></blockquote>
  27. <h2>Install Apache Tomcat</h2>
  28. <ol>
  29. <li>Log into the Linux device</li>
  30. <li>Run the following commands in a terminal:
  31. <div class="codeBlock"># check for and install software updates<br />
  32. sudo apt update<br />
  33. sudo apt upgrade<br />
  34. # install java jdk<br />
  35. sudo apt install default-jdk<br />
  36. # create tomcat group and user<br />
  37. sudo mkdir /var/lib/tomcat9<br />
  38. sudo groupadd tomcat<br />
  39. sudo useradd -s /bin/false -g tomcat -d /var/lib/tomcat9 tomcat<br />
  40. # lookup the latest tomcat 9 release<br />
  41. regex=&#39;&lt;a href=&quot;v[^/]*\/&quot;&gt;v([^/]*)\/&lt;\/a&gt;&#39; &amp;&amp; response=$(curl -s https://downloads.apache.org/tomcat/tomcat-9/?C=M;O=D) &amp;&amp; [[ $response =~ $regex ]] &amp;&amp; downloadURL=&quot;${BASH_REMATCH[1]}&quot;<br />
  42. # download tomcat 9<br />
  43. curl -O https://downloads.apache.org/tomcat/tomcat-9/v$downloadURL/bin/apache-tomcat-$downloadURL.tar.gz<br />
  44. # extract the download<br />
  45. sudo tar xzvf apache-tomcat-9*tar.gz -C /var/lib/tomcat9 --strip-components=1<br />
  46. # set permissions<br />
  47. cd /var/lib/tomcat9<br />
  48. sudo chgrp -R tomcat /var/lib/tomcat9<br />
  49. sudo chmod -R g+r conf<br />
  50. sudo chmod g+x conf<br />
  51. sudo chown -R tomcat webapps/ work/ temp/ logs/<br />
  52. # run tomcat as a service<br />
  53. sudo update-java-alternatives -l<br />
  54. sudo nano /etc/systemd/system/tomcat.service</div>
  55. </li>
  56. <li>Paste the following configuration into tomcat.service
  57. <p>[Unit]<br />
  58. Description=Apache Tomcat<br />
  59. After=network.target</p>
  60. <p>[Service]<br />
  61. Type=forking</p>
  62. <p>Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64<br />
  63. Environment=CATALINA_PID=/var/lib/tomcat9/temp/tomcat.pid<br />
  64. Environment=CATALINA_HOME=/var/lib/tomcat9<br />
  65. Environment=CATALINA_BASE=/var/lib/tomcat9<br />
  66. Environment=&#39;CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC&#39;<br />
  67. Environment=&#39;JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom&#39;</p>
  68. <p>ExecStart=/var/lib/tomcat9/bin/startup.sh<br />
  69. ExecStop=/var/lib/tomcat9/bin/shutdown.sh</p>
  70. <p>User=tomcat<br />
  71. Group=tomcat<br />
  72. UMask=0007<br />
  73. RestartSec=10<br />
  74. Restart=always</p>
  75. <p>[Install]<br />
  76. WantedBy=multi-user.target</p>
  77. </li>
  78. <li>Continue with the following commands in terminal:
  79. <div class="codeBlock">sudo systemctl daemon-reload<br />
  80. sudo systemctl start tomcat<br />
  81. sudo systemctl status tomcat<br />
  82. sudo systemctl enable tomcat</div>
  83. </li>
  84. <li>Open a browser and navigate to http://DNSorIP:8080 to test that Tomcat is installed and running</li>
  85. </ol>
  86. <h2>Installing jGraph/mxGraph from draw.io</h2>
  87. <ol>
  88. <li>Run the following commands in terminal:
  89. <div class="codeBlock"># download the draw.war file<br />
  90. cd ~<br />
  91. wget https://github.com/jgraph/drawio/releases/download/v13.8.0/draw.war<br />
  92. # copy draw.war to the tomcat webapps directory<br />
  93. sudo cp ./draw.war /var/lib/tomcat9/webapps</div>
  94. </li>
  95. <li>Back in the browser, navigate to http://DNSorIP:8080/draw</li>
  96. <li>Enjoy a self-hosted diagram creation studio in your web browser</li>
  97. </ol>
  98. <p>Source: <a href="https://github.com/jgraph/drawio" target="_blank">https://github.com/jgraph/drawio</a></p> </div>
  99. </div>
  100. </body>
  101. </html>