{"id":398,"date":"2021-06-05T09:27:29","date_gmt":"2021-06-05T14:27:29","guid":{"rendered":"https:\/\/carlosthomas.net\/blog\/?p=398"},"modified":"2021-06-05T18:10:39","modified_gmt":"2021-06-05T23:10:39","slug":"updating-invoice-ninja-v4-on-shared-hosting","status":"publish","type":"post","link":"https:\/\/carlosthomas.net\/blog\/2021\/06\/updating-invoice-ninja-v4-on-shared-hosting\/","title":{"rendered":"Updating Invoice Ninja v4 on Shared Hosting"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/carlosthomas.net\/blog\/2021\/06\/updating-invoice-ninja-v4-on-shared-hosting\/#i\" >&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/carlosthomas.net\/blog\/2021\/06\/updating-invoice-ninja-v4-on-shared-hosting\/#INTRODUCTION\" >INTRODUCTION<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/carlosthomas.net\/blog\/2021\/06\/updating-invoice-ninja-v4-on-shared-hosting\/#MAJOR_NOTICE\" >!!!MAJOR NOTICE!!!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/carlosthomas.net\/blog\/2021\/06\/updating-invoice-ninja-v4-on-shared-hosting\/#REQUIREMENTS\" >REQUIREMENTS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/carlosthomas.net\/blog\/2021\/06\/updating-invoice-ninja-v4-on-shared-hosting\/#METHOD_1_%E2%80%93_PROC_OPEN_AVAILABLE\" >METHOD #1 \u2013 PROC_OPEN AVAILABLE<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/carlosthomas.net\/blog\/2021\/06\/updating-invoice-ninja-v4-on-shared-hosting\/#METHOD_2_%E2%80%93_PROC_OPEN_NOT_AVAILABLE\" >METHOD #2 \u2013 PROC_OPEN NOT AVAILABLE<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"i\"><\/span>&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"INTRODUCTION\"><\/span>INTRODUCTION<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>This post is related to a prior one done about installing InvoiceNinja on shared hosting. You can view that at the link below.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-carlos-039-tech-blog wp-block-embed-carlos-039-tech-blog\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"aT0q8PPwDw\"><a href=\"https:\/\/carlosthomas.net\/blog\/2018\/10\/setup-invoice-ninja-on-hostgator-shared\/\">Setup Invoice Ninja on HostGator (Shared)<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;Setup Invoice Ninja on HostGator (Shared)&#8221; &#8212; Carlos&#039; Tech Blog\" src=\"https:\/\/carlosthomas.net\/blog\/2018\/10\/setup-invoice-ninja-on-hostgator-shared\/embed\/#?secret=rBbKsfI89B#?secret=aT0q8PPwDw\" data-secret=\"aT0q8PPwDw\" width=\"474\" height=\"267\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Thanks for this go to @david and @hillel on the <a href=\"https:\/\/forum.invoiceninja.com\" data-type=\"URL\" data-id=\"https:\/\/forum.invoiceninja.com\" target=\"_blank\" rel=\"noreferrer noopener\">InvoiceNinja forums<\/a>. Keep up the good work guys!<\/p>\n\n\n\n<p>I\u2019ve not found another dedicated invoice system that works better. I highly recommend the paid version for persons who can afford it. It would remove the hassle of having to do all the work on the back-end and also remove all of the system requirements.<\/p>\n\n\n\n<p>This assumes you already have a v4 installation present.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"MAJOR_NOTICE\"><\/span>!!!MAJOR NOTICE!!!<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>You cannot directly update from v4 to v5. If you attempt this \u2013 stuff may not work. Will probably cover this later on (if I get it working). As of this writing there is no way to install v5 without <a href=\"https:\/\/www.php.net\/manual\/en\/function.proc-open.php\" target=\"_blank\" rel=\"noreferrer noopener\">PROC_OPEN<\/a> available.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"REQUIREMENTS\"><\/span>REQUIREMENTS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Before doing an update \u2013 above all else \u2013 it would be best to have a PHP option called <strong>PROC_OPEN<\/strong> available. Without this a lot of things may fail. So let\u2019s list them.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>PHP 7.3. <ul><li>For v4 (4.5.39 as of this post) do not pass PHP 7.3 \u2013 it may cause problems. <\/li><\/ul><\/li><li>proc_open (PHP).<\/li><li>FTP client (like FileZilla).<\/li><\/ul>\n\n\n\n<p>This I would class as medium difficulty. So here we go. There are two main methods.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"METHOD_1_%E2%80%93_PROC_OPEN_AVAILABLE\"><\/span>METHOD #1 \u2013 PROC_OPEN AVAILABLE<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>If your hosting provider allows proc_open then simply:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Download the latest v4 (4.5.39 as of this post).<\/li><li>Extract the files.<\/li><li>Backup your ENV file.<\/li><li>Upload the contents of the ZIP to your web folder\/directory.\n<ul>\n<li>Overwrite all files.<\/li>\n<\/ul>\n<\/li><\/ol>\n\n\n\n<p>That\u2019s it. Navigate to your invoice URL after and use it. The second method however is a bit more tedious.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"METHOD_2_%E2%80%93_PROC_OPEN_NOT_AVAILABLE\"><\/span>METHOD #2 \u2013 PROC_OPEN NOT AVAILABLE<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>This takes a bit more time. A listing of what to do would be:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Backup your database.<\/li><li>Export your settings (just in case).<\/li><li>Remove 2FA (if enabled). You can put it back when done.<\/li><li>Rename the current folder (ninja) to something else (ninja.old).<\/li><li>Download and extract the current v4.<\/li><li>Create your usual working folder (ninja).<\/li><li>Upload your extracted updated v4 to the folder (ninja).<\/li><li>Go through the setup process &#8211; but point the database settings to the existing DB.\n<ul>\n<li>You may use all of your original credentials\/passwords.<\/li>\n<\/ul>\n<\/li><li>Log in with your credentials.<\/li><li>Verify everything is working.<\/li><li>Setup 2FA once more if you had it before.\n<ul>\n<li>Or set it up just because.<\/li>\n<\/ul>\n<\/li><\/ul>\n\n\n\n<p>I\u2019ll be editing this post later on and adding photos of the steps \u2013 but for getting the information out there \u2013 that\u2019s it. Hopefully this will help you with updating your InvoiceNinja.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; INTRODUCTION This post is related to a prior one done about installing InvoiceNinja on shared hosting. You can view that at the link below. Thanks for this go to @david and @hillel on the InvoiceNinja forums. Keep up the good work guys! I\u2019ve not found another dedicated invoice system that works better. I highly &hellip; <a href=\"https:\/\/carlosthomas.net\/blog\/2021\/06\/updating-invoice-ninja-v4-on-shared-hosting\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Updating Invoice Ninja v4 on Shared Hosting<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","_eb_attr":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-398","post","type-post","status-publish","format-standard","hentry","category-info"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4XHmQ-6q","_links":{"self":[{"href":"https:\/\/carlosthomas.net\/blog\/wp-json\/wp\/v2\/posts\/398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carlosthomas.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/carlosthomas.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/carlosthomas.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/carlosthomas.net\/blog\/wp-json\/wp\/v2\/comments?post=398"}],"version-history":[{"count":4,"href":"https:\/\/carlosthomas.net\/blog\/wp-json\/wp\/v2\/posts\/398\/revisions"}],"predecessor-version":[{"id":405,"href":"https:\/\/carlosthomas.net\/blog\/wp-json\/wp\/v2\/posts\/398\/revisions\/405"}],"wp:attachment":[{"href":"https:\/\/carlosthomas.net\/blog\/wp-json\/wp\/v2\/media?parent=398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/carlosthomas.net\/blog\/wp-json\/wp\/v2\/categories?post=398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/carlosthomas.net\/blog\/wp-json\/wp\/v2\/tags?post=398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}